繁体   English   中英

class库中可以使用MvcMailer吗?

[英]Can MvcMailer be used in a class library?

我想在 class 库中使用 MvcMailer,这基本上是我为我的解决方案撰写和发送电子邮件的一站式商店。 我认为这就是 MvcMailer 的设计目的,但它似乎找不到任何 my.cshtml 文件——我猜它希望它们在我的启动项目中。

有什么方法可以让 MvcMailer 与我的其他项目 100% 分开?

谢谢。

根据 MvcMailer 文档https://github.com/smsohan/MvcMailer/wiki/MvcMailer-Step-by-Step-Guide (摘录如下),这是不可能的,也许您可以有一个单独的 web 项目,其唯一目的是发送电子邮件并仅接受来自您的应用程序的请求

Email 从后台进程发送 您需要从后台进程发送电子邮件吗? 你是对的。 您不想阻止发送该通知 email 的请求/响应周期。 相反,您想要的是一个为您完成的后台进程,即使它是在短暂延迟后发送的。 您可以执行以下操作:

将您的 email 相关数据保存到数据库中。 创建发送电子邮件的 REST/SOAP web 服务。 这将确保您的 Mailer 可以访问 HttpContext,这对于核心 ASP.NET MVC 框架正常工作至关重要。 例如,查找您的视图、生成 URL 并执行身份验证/授权。 创建一个调用 web 服务的简单应用程序。 这可能是 windows 服务应用程序或在 Windows 计划任务下运行的可执行应用程序。 MvcMailer 的未来版本可能会对此提供支持。 但这很难,原因有二:

MailMessage 不是开箱即用的可序列化的,并且有很多复杂的字段和关联。 核心ASP.NET框架还需要HttpContext:(

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM