smd*_*ger 8 c# mvcmailer asp.net-mvc-3
我想在类库中使用MvcMailer,这本质上是我为我的解决方案编写和发送电子邮件的一站式商店.我认为这就是MvcMailer的设计目标,但它似乎无法找到我的任何.cshtml文件 - 我想它希望它们在我的启动项目中.
MvcMailer有没有办法与我的其他项目100%分开?
谢谢.
根据 MvcMailer 文档https://github.com/smsohan/MvcMailer/wiki/MvcMailer-Step-by-Step-Guide(下面摘录),这是不可能的,也许您可以有一个单独的 Web 项目,其唯一目的是发送电子邮件并仅接受来自您的应用程序的请求
从后台进程发送电子邮件 您需要从后台进程发送电子邮件吗?你是对的。您不想阻止发送通知电子邮件的请求/响应周期。相反,您想要的是一个为您完成此操作的后台进程,即使它是在短暂延迟后发送的。您可以执行以下操作:
将您的电子邮件相关数据保存到数据库中。创建发送电子邮件的 REST/SOAP Web 服务。这将确保您的 Mailer 能够访问 HttpContext,这对于核心 ASP.NET MVC 框架的正常工作至关重要。例如,查找您的视图、生成 URL 以及执行身份验证/授权。创建一个调用 Web 服务的简单应用程序。这可以是 Windows 服务应用程序或在 Windows 计划任务下运行的可执行应用程序。MvcMailer 的未来版本可能会支持这一点。但这很难,原因有二:
MailMessage 不是现成的可序列化,并且具有许多复杂的字段和关联。核心 ASP.NET 框架仍然需要 HttpContext :(