razor - 带有 Razor (.cshtml) 模板的电子邮件发件人库。 .net 核心 2.0

标签 razor asp.net-core email-templates

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

Razor View 非常适合用作电子邮件模板。

我正在尝试创建一个类库作为包含每个 View 的 View (cshtml 文件)和模型的包。该类库还将提供一个作为 EmailSender 的服务。

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

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

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

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

我最近才看到这篇文章 ASP.NET Core 2.1.0-preview1: Razor UI in class libraries

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

或者你有什么更好的主意来实现这一目标?

最佳答案

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

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

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

关于razor - 带有 Razor (.cshtml) 模板的电子邮件发件人库。 .net 核心 2.0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49678254/

相关文章:

azure - 来自带有 .net core 的 Azure function 2.0 的引用文件

webforms - ASP.Net Core 1.0 是否支持 WebForm 项目

javascript - 使用电子邮件模板在 Outlook 应用程序中支持媒体查询

html - 电子邮件模板 : text-decoration: none; NOT working

html - Outlook 2010 电子邮件模板中的表格问题

layout - 布局页面在~/Views/Shared之外时,为什么Razor看不到ViewBag、Url.Content等?

c# - ASP.Net MVC 3 Razor Response.Write 位置

asp.net-mvc - MVC3、CSS3 - 无法在文本框中获取样式

asp.net - ASP.NET vNext 和 ASP.NET 5 之间有什么区别?

asp.net-mvc - Razor 对引用的 html 属性进行编码