【问题标题】:Email body with dynamic content in JavaJava 中具有动态内容的电子邮件正文
【发布时间】:2010-06-04 02:56:49
【问题描述】:

我需要找到一种方法,如何从我的 Java 应用程序中发送包含动态内容的电子邮件。例如:

亲爱的, 这是你的新密码。

所以当我发送邮件时,标签会改变它们的值:= user's name, =user's last name, = user's password

那么有人可以给我一个建议或给我一些教程的链接吗?

【问题讨论】:

  • 由于您关心的似乎更多是模板,而不是电子邮件的发送,您可以考虑改写您的标题、问题和标签以摆脱电子邮件部分,因为这不是您关心的。这只是您任务中的另一个步骤。

标签: java email


【解决方案1】:

使用java.text.MessageFormat

String template = "Dear {0} {1}, this is your new password {2}.";
String message = MessageFormat.format(template, "Jeff", "Atwood", "killskeet");

或者,使用String#format():

String template = "Dear %s %s, this is your new password %s.";
String message = String.format(template, "Jeff", "Atwood", "killskeet");

这只需要严格的参数排序。

【讨论】:

【解决方案2】:

这涉及到基本变量的使用。查看Sending Email using JavaMail API 并使用变量将用户的名字和姓氏以及密码设置为邮件正文的一部分。

【讨论】:

  • 奥伦,链接失效了
【解决方案3】:

您可以使用 StringBuilder 构建消息并直接插入名称、姓氏和密码变量。或者,您可以将消息连同变量一起写入文本文件(正如您在帖子中所写的那样)并解析文本文件。

【讨论】:

    【解决方案4】:

    您可以使用 apache velocity 发送包含动态内容的电子邮件。不需要严格的参数排序。您只需要占位符并将它们设置在速度上下文中。模板引擎将替换动态内容。

    【讨论】:

      猜你喜欢
      • 2019-01-20
      • 2013-03-14
      • 1970-01-01
      • 2017-09-22
      • 2021-04-02
      • 1970-01-01
      • 2017-11-12
      • 1970-01-01
      • 2011-03-19
      相关资源
      最近更新 更多