我必须通过电子邮件发送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内容答案 0 :(得分:115)
请勿将MimeMessage
转发给Message
:
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
这样的类,它们的功能都比真正的子类少得多({实际构建的{1}},MimeMultipart
和MimeMessage
} ......