如何在JavaMail中发送HTML文件?

时间:2013-10-17 23:25:40

标签: google-app-engine javamail

我正在使用Google App Engine和JavaMail。在特定事件发生后,我需要向用户发送一些电子邮件大小的html邮件消息。如何使用JavaMail发送它们? (它们是60到100行的HTML,所以试图一次添加一行是相当不合理的。任何方法一次性添加它?

3 个答案:

答案 0 :(得分:2)

您需要使用模板框架来帮助生成您的电子邮件内容。这些很容易实现,其中一些在App Engine环境中运行良好。

我使用了以下内容:

并发现两者都做得很好。这些模板引擎相当强大,包括条件逻辑,处理类似数据的记录等等。

在高层次上,它会是这样的: 1)定义您的电子邮件模板(以HTML格式)并将其放入某个WEB-INF/email-templates文件夹中。这些模板格式取决于您使用的模板引擎。它们中的大多数将具有可替代的参数,例如你好$ {name}等等。

2)在运行时,确定要发送的电子邮件。您需要告诉模板引擎将是哪个模板文件以及将由引擎本身替换的参数映射。输出将是一个HTML格式的字符串,然后您可以使用它。

答案 1 :(得分:1)

简单:

String message ="<b>This is my message!</b>"

Message msg = new MimeMessage(session);
msg.setContent(message, "text/html");

你真正需要做的就是将你的文件读成一个字符串。

例如,请参阅how-to-create-a-java-string-from-the-contents-of-a-filejava-how-to-read-complete-text-file

答案 2 :(得分:0)

如果你想要更现代的东西,你可以试试Handlebars

或者,我已经构建了一个轻量级的web框架,设计用于AppEngine,名为thundr。使用此功能,您可以使用它支持的任何模板语言(包括jsps)来呈现电子邮件正文。这使您可以为Web演示文稿和电子邮件提供统一的模板语言。使用一种语言用于网络和一种用于电子邮件,使生活更轻松。