尝试使用 java-mail 发送 HTML 电子邮件。我可以在 Outlook 中看到 HTML 格式的电子邮件,但 Gmail 和 Yahoo 不显示 HTML 格式,它们将电子邮件显示为没有 HTML 格式的纯文本。
我正在使用公司的 SMTP 服务器向用户发送电子邮件。
我尝试了以下代码,并且 msgcontent 是 StringBuilder 在以下代码中:
Properties prop = System.getProperties();
prop.put("mail.smtp.auth", "false");
prop.put("mail.smtp.starttls.enable","false");
prop.put("mail.smtp.host", SMTP_SERVER);
Session session = Session.getInstance(prop);
MimeMessage msg = new MimeMessage(session);
MimeMultipart multipart = new MimeMultipart();
MimeBodyPart content = new MimeBodyPart();
content.setHeader("content-type", "text/html");
msg.setFrom(new InternetAddress(EMAIL_FROM));
msg.setRecipients(Message.RecipientType.TO, InternetAddress.parse(EMAIL_TO, false));
msg.setSubject(EMAIL_SUBJECT);
content.setContent(msgcontent.toString(), "text/html");
multipart.addBodyPart(content);
msg.setContent(multipart);
我希望在 Gmail、Yahoo 等所有电子邮件客户端中显示 HTML 电子邮件。目前只有 Outlook 可以显示 HTML 内容。