java - 无法使用 JavaMailSender 发送 html 电子邮件
问题描述
我正在尝试将 html 作为电子邮件从JavaMailSender
. 有html
一个<img>
标签。
MimeMessage mimeMessage = mailSender.createMimeMessage();
MimeMessageHelper mimeMessageHelper = new MimeMessageHelper(mimeMessage,true);
mimeMessageHelper.setTo("preetham.kv@highpeaksw.com");
mimeMessageHelper.setText("<img src=cid:netLogo\" />",true);
ClassPathResource netLogoImg = new ClassPathResource("sample.png");
mimeMessageHelper.addInline("netLogo",netLogoImg);
mailSender.send(mimeMessage);
但是当发送电子邮件时,图像将作为附件而不是电子邮件内容的图像。如何发送带有图像和链接的html spring-boot
?
解决方案
嗨,您必须在字符串中扭曲您的 Html 内容,并且您使用以下代码
MimeMessage message = (MimeMessage) getNewMessageInstance();//sender.createMimeMessage();
MimeMessageHelper helper = new MimeMessageHelper(message,true);
try {
if (emailContent == null || emailContent.length() == 0) {
message.setContent(multipart);
} else {
message.setContent(emailContent, "text/html; charset=utf-8");
}
} catch (Exception e) {
log.info("Exception while setting message content ",e);
}