【发布时间】:2014-09-17 13:31:17
【问题描述】:
我们正在构建一个 Web 应用程序,该应用程序还可以根据不同的场景发送电子邮件。我正在检查用于设置邮件模板的各种选项(即邮件内容、主题)。我经历了以下选项:
- Apache Velocity:使用它,我可以为电子邮件内容设置模板,但我如何也可以为邮件设置主题?我需要调用另一个模板来设置主题。有什么方法可以在不使用两个不同模板文件的情况下指定邮件正文和主题?
- 数据库驱动模板:主要缺点是我们需要在这种方法中重新发明轮子。我们最终会编写一些实用程序已经可用的样板代码。
我们不需要任何高保真音响,只需要简单的模板。唯一的要求是我们应该能够根据场景发送不同主题的不同邮件。有什么建议吗?
【问题讨论】:
-
这取决于您使用什么来发送电子邮件。您可以将包含所有标题的整个电子邮件作为模板,然后直接读取它,填写值并发送。如果您的电子邮件库允许。
-
我很久以前就用过
StringTemplatestringtemplate.org/about.html,它很容易使用。检查它是否满足您的需求。 -
电子邮件主题总是一行。您可以采用这样的约定,即结果的第一行是主题,其余的是正文。不过,不确定这是否比使用其他文件更清晰。
-
您可以针对不同的场景使用 freemarker 模板文件,并相应地使用。
-
呃“重新发明轮子”是夸大其词。完成起来非常简单,因此您可以创建自己的解决方案。如果实施时间超过一个小时,我会感到惊讶。