使用Razor(.cshtml)模板发送电子邮件发件人库..net核心2.0

akd*_*akd 6 email-templates razor asp.net-core

我一直在寻找这个时代的明确解决方案,用于从嵌入式源文件发送带有电子邮件模板的电子邮件,但我还没有找到明确的答案.

Razor视图非常适合用作电子邮件的模板.

我正在尝试创建一个类库作为包,其中包含每个视图的视图(cshtml文件)和模型.该类库还将具有EmailSender服务.

然后,将在Web应用程序中引用该类库以发送电子邮件.该库显然可以在其他项目中重复使用.

EmailSender服务将为每种电子邮件类型提供方法.Web应用程序将传递模型,类库将准备电子邮件内容(将模型解析为视图)并返回字符串内容.该字符串内容将作为htmlbody电子邮件发送.

我看过这个RazorLight .这似乎还没有完成或更新核心2.0.

我遇到的另一个解决方案是在这里.此方法的问题是电子邮件模板不包含模型属性.基本上,模板包含{0},{1}等,格式用于将模​​型数据解析为模板.如果模板中有很多参数,那么很难记住哪个参数是哪个.

我刚刚看到这篇文章ASP.NET Core 2.1.0-preview1:类库中的Razor UI

它告诉Core 2.1.0将允许在类库中添加视图.这会是解决方案吗?

或者你有更好的想法来实现这一目标吗?

小智 1

我也在研究此类问题,但在网上没有找到任何解决方案。因此,经过一些研究,我成功地实现了这种解决方案并写了一篇博客。您可以检查下面的链接是否适合您的解决方案。

PS 在类库中使用 Razor UI 可能是一个可能的解决方案,但我还没有尝试过。

https://medium.com/@ognjanovski.gavril/net-core-email-sender-library-with-razor-templates-cshtml-contained-in-it-71c48bef1457