我必须通过电子邮件发送 HTML 文件,但不能作为附件。
Message simpleMessage = new MimeMessage(mailSession);
try {
fromAddress = new InternetAddress(from);
toAddress = new InternetAddress(to);
} catch (AddressException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
simpleMessage.setFrom(fromAddress);
simpleMessage.setRecipient(RecipientType.TO, toAddress);
simpleMessage.setSubject(subject);
simpleMessage.setText(text);
Transport.send(simpleMessage);
} catch (MessagingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
它只是发送带有短信的电子邮件。 我想发送存储在另一个文件中但不作为附件的 HTML 内容
最佳答案
不要向上转换你的 MimeMessage
到消息
:
MimeMessage simpleMessage = new MimeMessage(mailSession);
然后,当你想设置消息正文时,要么调用
simpleMessage.setText(text, "utf-8", "html");
或调用
simpleMessage.setContent(text, "text/html; charset=utf-8");
如果您更愿意使用 utf-8
以外的字符集,请在适当的位置替换它。
JavaMail 有一个额外的、无用的抽象层,它通常让您拥有像 Multipart
、Message
和 Address
这样的类,它们都有与实际构建的实际子类(MimeMultipart
、MimeMessage
和 InternetAddress
)相比,功能少得多...
关于html - 如何发送 HTML 电子邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5223079/