Spring HTML电子邮件在Gmail和Yahoo中通过javamail显示为纯文本
正在尝试使用java mail发送HTML电子邮件。我可以在Outlook中看到HTML格式的电子邮件,但Gmail和Yahoo不显示HTML格式,他们将电子邮件显示为无HTML格式的纯文本 我正在使用公司的SMTP服务器向用户发送电子邮件 我尝试了以下操作,msgcontent是以下代码中的StringBuilder:Spring HTML电子邮件在Gmail和Yahoo中通过javamail显示为纯文本,spring,smtp,jakarta-mail,Spring,Smtp,Jakarta Mail,正在尝试使用java mail发送HTML电子邮件。我可以在Outlook中看到HTML格式的电子邮件,但Gmail和Yahoo不显示HTML格式,他们将电子邮件显示为无HTML格式的纯文本 我正在使用公司的SMTP服务器向用户发送电子邮件 我尝试了以下操作,msgcontent是以下代码中的StringBuilder: Properties prop = System.getProperties(); prop.put("mail.smtp.auth", "false"); p
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内容。您不需要多部分,因为您的邮件只有一部分 通过将两个content.set*行替换为以下内容,可以简化内容设置:
content.setText(msgcontent.toString(), "utf-8", "html");
您使用的是什么版本的JavaMail
如果检查收到的邮件的原始MIME内容,并将其与发送的邮件的原始MIME内容进行比较,它们是否不同