![]() |
1
5
关于这一点,堆栈上已经有几个线程溢出了,但是我最终从那里的各种建议中总结出了自己的解决方案。 我用过这个 FormatWith 扩展方法来处理简单的模板化,然后我创建了一个基本的电子邮件基类来处理常见的任务,比如拉入适当的模板并替换所有必需的信息,以及提供send()方法。 我需要发送的所有电子邮件都有自己的从基础派生的子类,并定义它们特有的内容,如模板文本、绑定数据、收件人和主题。让他们每个人都在自己的类中,使得他们很容易独立于应用程序的其他部分进行单元测试。 这样,你的应用程序就可以使用这些电子邮件类而不必真正关心它使用的是哪一个,使用任何共享方法(我唯一关心的是send())实现一个接口也是一个好主意,这样你的应用程序就可以实例化它想要的任何电子邮件类,并以同样的方式使用它们。或许也可以使用仿制药,但这正是我想出来的。
编辑:这里还有很多建议: Can I set up HTML/Email Templates with ASP.NET? |
![]() |
2
1
我总是做以下的事情。templates=文本字符串
简单,效果好。当你需要更强大的东西时,你可以移动到某种框架,但string.format对我来说总是很好的。 笔记 Alison R的链接将此方法带到下一步,使用3.5的匿名类型,效果非常好。如果你是3.5,我建议你在那里使用格式化(我会的),否则这种方式很好地工作。 |
![]() |
3
0
在我自己做了这件事之后,这里有一些很好的信息: Sending Email Both in HTML and Plain Text . 最重要的是,除了.NET,你什么都不需要。 基本上,您可以创建一个HTML页面(即格式化电子邮件),其中包含要替换的标记(在这种解决方案中,标记的格式为:<%Tagname%>)。然后,利用上面网站上的信息创建一个邮件模板,其中的标签填充了适当的数据,并将为您的HTML模板进行注入。然后,您只需使用.NET中内置的SMTP类,并在邮件发送途中发送邮件。它非常简单明了。 如果您还有其他问题,请告诉我。希望有帮助! |
![]() |
4
0
如果您使用的是ASP.NET,则 已经 您可以使用模板引擎。只需创建一个ASP.NET页面,它将为您生成所需的结果(使用任何控件等),并将响应的ContentType设置为适当的类型(文本或HTML,具体取决于电子邮件格式)。 确保 这个网址是 不 公开曝光。 然后,在代码中,您将创建一个httpwebrequest/httpwebresponse或webclient,然后获取URL并获取内容。ASP.NET引擎将处理请求并返回格式化的结果,然后可以通过电子邮件发送。 如果你想要更简单的东西,为什么不使用regex和match呢?只要确保您的字段有一个相当独特的标识符(前缀和后缀,您可以保证永远不会使用,或者至少可以为其编写一个转义序列),并且您可以轻松地使用match方法进行替换。 对于regex方法来说,唯一的“解决方法”是,如果必须进行嵌入式模板化,那么需要做更多的工作。 |
![]() |
javabot · 无法使用for标记遍历卵石模板引擎中的数组列表 9 年前 |
![]() |
Sunny · Go HTML模板文件扩展名是任意的吗? 9 年前 |
![]() |
loose11 · 在init或handler函数中读取模板? 9 年前 |
![]() |
Inverbis · 细枝中的切片条件循环 10 年前 |
|
user1037355 · ejs模板引擎,扩展父级以形成良好的设计模式 10 年前 |
![]() |
ThomasReggi · 液体过滤器在管链内进入 10 年前 |
![]() |
Felix Novovic · 玩框架模板引擎导入长类名时出现问题 10 年前 |