メールに画像を添付する場合、HTML コンテンツに配置するにはどうすればよいですか? ファイル名を画像ソースとして使用しようとしましたが、うまくいかないようです。
7 に答える
src="cid:bgBoletin"
タグのプロパティでも同じように使用できますimg
。
あなたの質問への答えは、こちらの春のドキュメントにあります。
mailSender.send(new MimeMessagePreparator() {
public void prepare(MimeMessage mimeMessage) throws MessagingException {
MimeMessageHelper message = new MimeMessageHelper(mimeMessage, true, "UTF-8");
message.setFrom("me@mail.com");
message.setTo("you@mail.com");
message.setSubject("my subject");
message.setText("my text <img src='cid:myLogo'>", true);
message.addInline("myLogo", new ClassPathResource("img/mylogo.gif"));
}
});
メッセージの本文は、マルチパート メッセージの一部です (メッセージをマルチパート メッセージに設定する MimeMessageHelper のコンストラクターで、2 番目のパラメーターが true に設定されていることに注意してください)。
この行message.addInline("myLogo"...
は、画像をマルチパート メッセージの別の部分として追加します。
.setText
メール メッセージの本文 (HTML コンテンツ) を設定するために使用できます。
タグ cid を使用して、マルチパート メール (イメージ) の他の部分を参照できます。img src 属性がsrc='cid:myLogo'
. cid は画像のコンテンツ ID で、マルチパート メッセージの一部として送信されます。
こんな感じでやってます
_mime = new MimeMultipart();
BodyPart messageBodyPart = new MimeBodyPart();
messageBodyPart = new MimeBodyPart();
DataSource fds = new FileDataSource("C:\\bgBoletin.jpg");
messageBodyPart.setDataHandler(new DataHandler(fds));
messageBodyPart.setHeader("Content-ID", "<bgBoletin>");
_mime.addBodyPart(messageBodyPart);
そして、コンテンツ ID をこのように参照する HTM ファイルでは、バックグラウンド: url(cid:bgBoletin) です。
これが、開発中の Web サイトからの電子メールの送信に関係している場合は、サーバーに画像を保存し、<img src="url"/>
.