19

メールに画像を添付する場合、HTML コンテンツに配置するにはどうすればよいですか? ファイル名を画像ソースとして使用しようとしましたが、うまくいかないようです。

4

7 に答える 7

11

HTML メールメッセージを作成する方法をより具体的にしてください。

結果は、text/html 部分 (本当に text/plain タイプの代替部分で正しく行う場合) といくつかの画像を含むマルチパート MIME メッセージになり、HTML 内から参照されます。

混合 MIME および関連データ (HTML ソースでは CID で参照) の content-id の詳細については、 RFC 1813およびRFC 2378を参照してください。

于 2009-05-28T20:09:57.663 に答える
5

src="cid:bgBoletin"タグのプロパティでも同じように使用できますimg

于 2012-03-14T15:19:34.610 に答える
4

あなたの質問への答えは、こちらの春のドキュメントにあります。

 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 で、マルチパート メッセージの一部として送信されます。

于 2012-12-17T11:48:31.107 に答える
3

こんな感じでやってます

_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) です。

于 2012-03-14T15:13:48.353 に答える
2

これが、開発中の Web サイトからの電子メールの送信に関係している場合は、サーバーに画像を保存し、<img src="url"/>.

于 2009-05-28T20:10:44.307 に答える