为了账号安全,请及时绑定邮箱和手机立即绑定

如何发送HTML电子邮件?

/ 猿问

如何发送HTML电子邮件?

慕斯卡3215842 2019-09-21 15:29:34

我已经使用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.setContent(message, "text/html; charset=utf-8");

    msg.setSentDate(new Date());

    Transport.send(msg);

}catch(MessagingException me){

    logger.log(Level.SEVERE, "sendEmailNotification: {0}", me.getMessage());

}


查看完整描述

3 回答

?
慕雪6173905

根据Javadoc,在需要时,这些MimeMessage#setText()设置会将默认的mime类型设置为。而是使用代替。text/plaintext/htmlMimeMessage#setContent()


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


查看完整回答
反对 回复 2019-09-21
?
POPMUISE

设置内容类型。看这个方法。


message.setContent("<h1>Hello</h1>", "text/html");


查看完整回答
反对 回复 2019-09-21
?
FFIVE

如果您使用的是Google App Engine / Java,请使用以下...


MimeMessage msg = new MimeMessage(session);

msg.setFrom(new InternetAddress(SENDER_EMAIL_ADDRESS, "Admin"));

msg.addRecipient(Message.RecipientType.TO,

                 new InternetAddress(toAddress, "user");


msg.setSubject(subject,"UTF-8");


Multipart mp = new MimeMultipart();

MimeBodyPart htmlPart = new MimeBodyPart();

htmlPart.setContent(message, "text/html");

mp.addBodyPart(htmlPart);

msg.setContent(mp);

Transport.send(msg);


查看完整回答
反对 回复 2019-09-21

添加回答

回复

举报

0/150
提交
取消
意见反馈 邀请有奖 帮助中心 APP下载
官方微信