web-dev-qa-db-ja.com

HTML、電子メール、画像、プレーンテキストを満たすMIMEタイプ?

Mail multipart/alternative vs multipart/mixed への答えは、添付ファイルがmultipart/alternativeメッセージ:

  • multipart/mixed
    • multipart/alternative
      • テキスト/プレーン
      • text/html
    • いくつか/もの(性質:添付)
    • いくつか/もの(性質:添付)
    • ...

いくつかのインライン画像と代替テキストを含むHTMLパーツを含むメールを送信したいと思います。さまざまな部分に適したMIMEレイアウトは何ですか?コード例やその他の質問にはいくつかのオプションがありますが、実際に最適なのはどれですか?私の傾向はこれです:

  • multipart/alternative
    • テキスト/プレーン
    • multipart/related
      • text/html(cidによる画像の参照)
      • 画像/ GIF
      • 画像/ GIF
      • ...

このように、画像は明らかにhtmlパーツをレンダリングするためのものです。これの完全な例は次のとおりです。

From: Rich Example <[email protected]>
To: A Recipient <[email protected]>
Subject: An example of email with images and a plain alternative
MIME-Version: 1.0
Content-Type: multipart/alternative; boundary="outer-boundary"

This is a MIME-encoded message. If you are seeing this, your mail
reader is old.
--outer-boundary
Content-Type: text/plain; charset=us-ascii

This message might make you :) or it might make you :(

--outer-boundary
MIME-Version: 1.0
Content-Type: multipart/related;
  type="text/html"; start="<body@here>"; boundary="inner-boundary"

--inner-boundary
Content-Type: text/html; charset=us-ascii
Content-Disposition: inline
Content-ID: <body@here>

<html>
 <body>
  This message might make you
  <img src="cid:smile@here" alt="smile">
  or it might make you
  <img src="cid:frown@here" alt="frown">
 </body>
</html>

--inner-boundary
Content-Type: image/gif
Content-Disposition: inline
Content-Transfer-Encoding: base64
Content-ID: <smile@here>

R0lGODlhEAAQAKEBAAAAAP//AP//AP//ACH5BAEKAAIALAAAAAAQABAAAAIzlA2px6IBw2
IpWglOvTahDgGdI0ZlGW5meKlci6JrasrqkypxJr8S0oNpgqkGLtcY6hoFADs=

--inner-boundary
Content-Type: image/gif
Content-Disposition: inline
Content-Transfer-Encoding: base64
Content-ID: <frown@here>

R0lGODlhEAAQAKEBAAAAAAD//wD//wD//yH5BAEKAAIALAAAAAAQABAAAAIzlA2px6IBw2
IpWglOvTahDgGdI0ZlGW5meKlci75drDzm5uLZyZ1I3Mv8ZB5Krtgg1RoFADs=

--inner-boundary--

--outer-boundary--
24
Rob Starling

あなたが正しいです。インライン画像はmultipart/related mime-entity(RFC 2387)および複数のコンテンツタイプオプションの提供は、multipart/alternative(RFC 2046)。
添付ファイルを追加するには、構造全体をmultipart/mixedそして添付ファイルを追加します。

  • multipart/mixed
    • multipart/alternative
      • テキスト/プレーン
      • multipart/related
        • text/html
        • 画像/ GIF
        • 画像/ GIF
    • いくつか/もの(性質:添付)
    • いくつか/もの(性質:添付)

テキスト/プレーンメッセージでインラインイメージを使用することもできますが、すべてのMUAがこれをサポートしているわけではありません。 (使用しないか、処理:インライン)

  • multipart/mixed
    • text/plain(画像上のテキスト)
    • 画像/ GIF
    • text/plain(画像の下のテキスト)

そして、これをマルチパート/代替HTMLメールと組み合わせる明確な方法を知りません。

10
Hägar