无法使用 Spring javamail 在电子邮件中发送图像
Can't send image in email with Spring javamail
使用 spring 4.0.8
这是我的代码
@Value("classpath:logo.png")
private Resource logoImage;
...
final MimeMessagePreparator preparator = new MimeMessagePreparator() {
public void prepare(MimeMessage mimeMessage) throws Exception {
final MimeMessageHelper message = new MimeMessageHelper(mimeMessage, true,"UTF-8");
message.setTo(toEmail);
message.setSubject("subject");
message.setFrom(from);
message.setReplyTo(replyTo);
message.addInline("logo.png", logoImage);
message.setText("<img src=\"cid:logo.png\"></img><div>My logo</div>", true);
}
};
mailSender.send(preparator);
我收到没有图片的电子邮件。
调试的时候logoImage.exists() = true.
我做错了什么?
更新:message.getMimeMessage().writeTo(System.out)
打印:
From: myaddress@sh.com
Reply-To: no-reply@sh.com
To: kos@inbox.ru
Message-ID: <2080132943.21504685477046.JavaMail.kn@kn>
Subject: subject
MIME-Version: 1.0
Content-Type: multipart/mixed;
boundary="----=_Part_1_1016272857.1504685465423"
------=_Part_1_1016272857.1504685465423
Content-Type: multipart/related;
boundary="----=_Part_2_1648931910.1504685465435"
------=_Part_2_1648931910.1504685465435
Content-Type: text/html;charset=UTF-8
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
Content-ID: <logo.png>
<img src="cid:logo.png"></img><div>My logo</div>
------=_Part_2_1648931910.1504685465435--
------=_Part_1_1016272857.1504685465423--
添加后收到一条消息,我的 post 主要是代码,所以这里有一些文字,请不要介意:)
看看example。我认为你应该交换方法 setText
和 addInline
使用 spring 4.0.8
这是我的代码
@Value("classpath:logo.png")
private Resource logoImage;
...
final MimeMessagePreparator preparator = new MimeMessagePreparator() {
public void prepare(MimeMessage mimeMessage) throws Exception {
final MimeMessageHelper message = new MimeMessageHelper(mimeMessage, true,"UTF-8");
message.setTo(toEmail);
message.setSubject("subject");
message.setFrom(from);
message.setReplyTo(replyTo);
message.addInline("logo.png", logoImage);
message.setText("<img src=\"cid:logo.png\"></img><div>My logo</div>", true);
}
};
mailSender.send(preparator);
我收到没有图片的电子邮件。
调试的时候logoImage.exists() = true.
我做错了什么?
更新:message.getMimeMessage().writeTo(System.out)
打印:
From: myaddress@sh.com
Reply-To: no-reply@sh.com
To: kos@inbox.ru
Message-ID: <2080132943.21504685477046.JavaMail.kn@kn>
Subject: subject
MIME-Version: 1.0
Content-Type: multipart/mixed;
boundary="----=_Part_1_1016272857.1504685465423"
------=_Part_1_1016272857.1504685465423
Content-Type: multipart/related;
boundary="----=_Part_2_1648931910.1504685465435"
------=_Part_2_1648931910.1504685465435
Content-Type: text/html;charset=UTF-8
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
Content-ID: <logo.png>
<img src="cid:logo.png"></img><div>My logo</div>
------=_Part_2_1648931910.1504685465435--
------=_Part_1_1016272857.1504685465423--
添加后收到一条消息,我的 post 主要是代码,所以这里有一些文字,请不要介意:)
看看example。我认为你应该交换方法 setText
和 addInline