我应该在哪里存储批量运行结束时发送的电子邮件的电子邮件模板?

时间:2009-07-14 16:09:59

标签: c# email batch-file templates

所以我正在编写这个EXE来处理退款,当工作完成后,我们会发送一封电子邮件给用户列表,可能是这样的:

不要回复

退款处理已完成。 N退款已成功处理。我们遇到了N个错误。请查看http://whatever.url以获取详细报告。

谢谢,

电脑

不要回复

所以,我们不是在谈论在这里发布数百封电子邮件,只是每天发送一封相关信息的电子邮件。这封电子邮件不太可能被修改,也绝不会被非技术人员修改过。我该如何存储并将模板处理到电子邮件中? C#String.Format样式有{0}和{1}等? XML / XSLT(看起来很麻烦)?我是否将模板存储在App.config中或将其放入数据库或其他不同的地方?

StackOverflow之前我做过什么? :)

2 个答案:

答案 0 :(得分:16)

我会采取简单的方法。我假设你想在这里发送一封HTML邮件。

我建议您创建一个HTML文件,其中包含您希望邮件的外观。用#COMPANYNAME#等替换所有名称/变量。保存文件并在Visual Studio中右键单击您的项目。转到属性然后资源。现在将HTML文件拖到资源中并给它一个合适的名称(这里:MyMailTemplate)。

现在,从您的代码中,您可以从Properties.Resources.MyMailTemplate中引用它。您可以将其用作字符串。将#PARAMETER#文本替换为实际值。

完成且易于编辑!

答案 1 :(得分:0)

我通常将模板存储在带有自定义占位符标记的文本文件中,尽管您可以对占位符使用c#String.Format样式。我在app.config中引用文件名,然后我可以加载文本模板,替换标记并发送电子邮件。

这使一切变得非常简单,并且可以在不重新编译的情况下更新电子邮件文本。