我想使用未格式化HTML标记的JavaMail发送电子邮件。
我使用这个代码:
public void sendMail() throws MessagingException, IllegalStateException, IllegalArgumentException {
Properties properties = System.getProperties();
properties.setProperty("mail.smtp.host", "localhost");
Session session = Session.getDefaultInstance(properties);
MimeMessage message = new MimeMessage(session);
MimeMultipart multipart = new MimeMultipart();
MimeBodyPart messageBodyPart = new MimeBodyPart();
messageBodyPart.setContent("<h1>This is an HTML message</h1>", "text/plain; charset=UTF-8");
multipart.addBodyPart(messageBodyPart);
message.setContent(multipart);
message.setFrom(new InternetAddress("noreply@localhost.com"));
message.addRecipient(Message.RecipientType.TO, new InternetAddress("to@localhost.com"));
message.setSubject("HTML mail");
Transport.send(message);
}
我收到了带有HTML格式的电子邮件:
这是一条HTML消息
但我想要html纯文本:
<h1>这是一条HTML消息<h1>
感谢您的帮助!
使用message.setText()
而不是message.setContent()