0

MIME メッセージ付きのメールでインライン画像を送信しています。これは同じための簡単なコードです。これはうまくいっています。私の質問は、MimeMessage コンテンツ タイプをマルチパート/関連として設定していない (マルチパート サブタイプも関連として設定していない) ことですが、コードは正常に動作しており、予想される位置でインライン イメージを取得できます。画像部分をcidで参照している場合、またはサーバーがそれを処理する場合、Content-Typeをmultipart/relatedとして設定することを本当に気にする必要がありますか?

  MimeMessage   msg = new MimeMessage(mailSession);
  MimeMultipart mpart = new MimeMultipart();
  MimeBodyPart bp = new MimeBodyPart();
  bp.setText("plain text and here is html image refering image part <img src="cid:Unique-ContentId" />", CHARSET_UTF_8, MESSAGE_HTML_CONTENT_TYPE);
  // add message body
  mpart.addBodyPart(bp);

 // adding inline image  part
  MimeBodyPart bodyPart1 = new MimeBodyPart();
  bodyPart1.setFileName("inline image");
  file1 = new File("image1");
  DataSource source1 = new FileDataSource(file);
  bodyPart1.setDataHandler(new DataHandler(source));
  bodyPart1.setDisposition(MimeBodyPart.INLINE);
  bodyPart1.setHeader("Content-ID", "Unique-ContentId");
  bodyPart1.setHeader("Content-Type", "image/jpeg");
  mpart.addBodyPart(bodyPart1);

  // At last setting multipart In MimeMessage
  msg.setContent(mpart);

参考までに、私のメール クライアントは Outlook、Lotusnotes、Yahoo、Gmail、Thunderbird です。

4

1 に答える 1

0

それが私たちが「運」と呼んでいるものです。:-)

どうやらあなたが使用している電子メールクライアントは、あなたが送信しているメッセージを解釈する方法において非常に寛大です。電子メールの仕様には、そのようなメッセージをこのように解釈する必要があることを示唆するものは何もありません。

于 2012-10-31T16:53:31.933 に答える