如何发送HTML电子邮件

时间:2011-03-07 17:38:00

标签: html javamail

我必须通过电子邮件发送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内容

1 个答案:

答案 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有一个额外的,无用的抽象层,通常会让你持有像MultipartMessageAddress这样的类,它们的功能都比真正的子类少得多({实际构建的{1}},MimeMultipartMimeMessage} ......