【问题标题】:How to use HTML template for email in desktop application?如何在桌面应用程序中使用 HTML 模板发送电子邮件?
【发布时间】:2013-08-01 08:15:35
【问题描述】:

我已经构建了一个小型 Java 桌面应用程序,它也可以发送电子邮件。一切正常,但我想为电子邮件使用 html 模板。有谁我该怎么做? 我已经完成了:

HtmlEmail email = new HtmlEmail();
email.setHtmlMsg(htmlString);

其中htmlString是这样的:

String htmlString= "<html><table><tr><td width='200px'>Name</td><td width='200px'>Start Date</td><td width='200px'>Deadline</td>"

【问题讨论】:

  • 你想做什么还不清楚。您想开发自己的轻量级模板引擎吗?
  • 不,我只想发送看起来不错的电子邮件,例如使用 HTML 页面模板。我已经在我的应用程序中创建了它,但我不知道在这种情况下如何集成它。

标签: java html html-email


【解决方案1】:

您可以将模板放在Resource Bundle 文件中。通常,这类文件具有.properties 扩展名,其内容的每一行都遵循key=value 模式。这些文件必须位于classpath

例如,如果您有一个名为 resources.properties 的资源包文件,它被放置在一个名为 somepackage 的包中,并且具有以下内容:

template.email=<html><table><tr><td width='200px'>{1}</td><td width='200px'>{2}</td><td width='200px'>{3}</td>

请注意,我用{1}{2}{3} 标记了这些消息片段,这些片段必须被替换,以便在需要时构建完整的消息。

为了从资源包中获取所有消息,您需要执行以下操作:

ResourceBundle rb = ResourceBundle.getBundle("somepackage.resources");
Enumeration <String> keys = rb.getKeys();
while (keys.hasMoreElements()) {
    String key = keys.nextElement();
    String value = rb.getString(key);
    System.out.println(key + ": " + value);
}

您可以找到更多信息here

【讨论】:

  • 谢谢,但在这种情况下我可以使用 CSS 吗?
  • 是的。如果要引用 soms CSS 类,则必须注意保存它们的 .css 文件的路径
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-11-03
  • 2021-10-13
  • 2018-06-19
  • 2021-12-17
  • 1970-01-01
相关资源
最近更新 更多