我已经寻找很久了,想要从嵌入式源文件发送电子邮件并使用电子邮件模板的清晰解决方案,但是我仍然没有找到明确的答案。
使用Razor视图作为电子邮件模板非常好用。
我正在尝试创建一个类库作为包,其中将包含每个视图(cshtml文件)和视图模型。该类库还将具有EmailSender服务。
然后,在Web应用程序中引用该类库以发送电子邮件。该库显然可以在其他项目中重复使用。
EmailSender服务将为每种电子邮件类型提供方法。Web应用程序将传递模型,类库将准备电子邮件内容(将模型解析为视图)并返回字符串内容。该字符串内容将被发送为htmlbody电子邮件。
我查看了这个RazorLight library。但它似乎还没有完成或更新到core 2.0。
另一个我发现的解决方案在这里。这种方法的问题在于电子邮件模板不包含模型属性。基本上,模板包含{0},{1}等,格式用于将模型数据解析到模板中。如果模板中有很多参数,则很难记住哪个参数是哪个。我最近看到了这篇文章ASP.NET Core 2.1.0-preview1:Razor UI in class libraries。
它说明Core 2.1.0将允许在类库中添加视图。这会是解决方案吗?
或者你有更好的想法来实现这个吗?