我想在类库中使用MvcMailer,这本质上是我为我的解决方案编写和发送电子邮件的一站式商店。我认为这就是MvcMailer的设计目标,但它似乎无法找到我的任何.cshtml文件 - 我想它会在我的启动项目中找到它们。
MvcMailer有没有办法与我的其他项目100%分开?
感谢。
答案 0 :(得分:1)
根据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不是开箱即用的Serializable,并且有很多复杂的字段和关联。 核心ASP.NET框架仍然需要HttpContext :(