我正在开发一个会发送大量电子邮件的网站.我想设置页眉和页脚文本,甚至是模板,以便用户在需要时轻松编辑这些电子邮件.
如果我将HTML嵌入到C#字符串文字中,那就很难看了,他们不得不担心转义.包括页眉和页脚的平面文件可能会起作用,但关于它的一些东西感觉不对.
什么是理想的.ASPX是以某种方式使用页面作为模板,然后告诉我的代码服务该页面,并使用为电子邮件返回的HTML.
有这么好的方法吗?有没有更好的方法来解决这个问题?
更新:
我添加了一个答案,使您可以使用标准的.aspx页面作为电子邮件模板.只需像通常那样替换所有变量,使用数据绑定等.然后只需捕获页面的输出,瞧!你有HTML电子邮件!
更新
了CAVEAT !!!:我在一些aspx页面上使用MailDefinition类就好了,但是当在运行的服务器进程中尝试使用这个类时,它失败了.我相信这是因为MailDefinition.CreateMailMessage()方法需要一个有效的控件来引用,即使它并不总是做某事.因此,我建议使用aspx页面的方法,或使用ascx页面的Mun方法,这看起来好一点.
我正在寻找一个.net模板引擎 - 简单,轻量,稳定,没有太多的依赖.我目前所需要的只是创建模板化的纯文本和HTML电子邮件.谁能给我一个好的推荐?
如果它有帮助 - 比如Java的Freemarker或Velocity库.
[更新]感谢迄今为止的答案 - 非常感谢.当你使用这些库时,我真的很喜欢推荐或战争故事.似乎是在不依次尝试每个决策的情况下做出决定的最佳方式.