java - 如何发送 HTML 电子邮件?

标签 java email jakarta-mail

我已使用 JMS 在我的 Web 应用程序中成功发送电子邮件,但结果仅以纯文本显示。我希望内容能够显示 html。我该怎么做?这大概是我所拥有的:

Message msg = new MimeMessage(mailSession);
try{
    msg.setSubject("Test Notification");
    msg.setRecipient(Message.RecipientType.TO, new InternetAddress(sentTo, false));
    String message = "<div style=\"color:red;\">BRIDGEYE</div>";
    msg.setText(message);
    msg.setSentDate(new Date());
    Transport.send(msg);
}catch(MessagingException me){
    logger.log(Level.SEVERE, "sendEmailNotification: {0}", me.getMessage());
}

最佳答案

根据 Javadoc,MimeMessage#setText()设置默认的 mime 类型为 text/plain,而您需要 text/html。宁可使用 MimeMessage#setContent()而是。

message.setContent(someHtmlMessage, "text/html; charset=utf-8");

更多详情,请参阅:

关于java - 如何发送 HTML 电子邮件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5068827/

相关文章:

java - 无法读取受限或受限访问计算机或防火墙安全的 Windows 注册表值

不同java版本的Java Map/List序列化/反序列化?

javascript - 可在已部署应用程序的源代码中查看 Meteor SMTP 凭据

java - 使用 PGP 通过 javamail 发送加密邮件

java - 无法在 Google App Engine 上发送电子邮件

java - 人脸流不适用于@Named

java - 无法使用 apache poi 读取 xlsx 文件

html - css - 邮件模板中的负边距问题

c# - 在 c# 中从数据表发送带有 excel 作为附件的电子邮件

Java 邮件附件在 Tomcat 上不起作用