[RFC] HTMLメールの構造メモ
こんにちは。
なんだかCSS Niteの周りでアレコレ騒動が起こっているようですが、耄碌して使い物にならないPGにはなんら関係ない窓際おじいさんです。
まー、うまい人の公演は金払ってでも聞きたいんですが、それ以前に行く時間を作れない。貧乏ヒマなし(^-^;)
それはともかく、HTMLメールの構造についてのメモです。あまり信用しないように。
HTMLメールについてのRFCは、大体次のような所が関連してるんでしょう。
MIMEそのものについては、RFCが多くてフォローしきれない(;-;)
・RFC2557 MHTMLの仕様
・RFC2387 MIME Multipart/Related Content-type
さて、HTMLメールの構造ですが、参考になるページを見つけました。
http://www.hitachi-to.co.jp/prod/prod_2/inter/emk/help/TecInfo/message/HTML-mail.htm
要するに、Content-Typeが次のような場合、HTMLメールですね。
ただ、HTMLメールには画像が挿入できますし、HTMLメールが表示できない場合の代替テキストも指定できますし、HTMLメールに添付ファイルを付けることもできます。
この場合は次のようになります。
こういう構造になります。
↓は困るけれど、ありうるなあ。
と、これらを組み合わせて、複雑怪奇な構造を作って、添付ファイルありの挿入画像ありの代替テキストありのHTMLメールが作れるわけです。
どうやてt、HTMLメール中で、挿入画像を指定しているかは、RFCを見てください。
基本的にはcid:Content-IDと指定していますんで、それほど難しいわけではないと思うんですが。
ま、構造はこんな所で。
なんだかCSS Niteの周りでアレコレ騒動が起こっているようですが、耄碌して使い物にならないPGにはなんら関係ない窓際おじいさんです。
まー、うまい人の公演は金払ってでも聞きたいんですが、それ以前に行く時間を作れない。貧乏ヒマなし(^-^;)
それはともかく、HTMLメールの構造についてのメモです。あまり信用しないように。
HTMLメールについてのRFCは、大体次のような所が関連してるんでしょう。
MIMEそのものについては、RFCが多くてフォローしきれない(;-;)
・RFC2557 MHTMLの仕様
・RFC2387 MIME Multipart/Related Content-type
さて、HTMLメールの構造ですが、参考になるページを見つけました。
http://www.hitachi-to.co.jp/prod/prod_2/inter/emk/help/TecInfo/message/HTML-mail.htm
要するに、Content-Typeが次のような場合、HTMLメールですね。
- text/html
- mail/html
ただ、HTMLメールには画像が挿入できますし、HTMLメールが表示できない場合の代替テキストも指定できますし、HTMLメールに添付ファイルを付けることもできます。
この場合は次のようになります。
HTMLメールに画像を挿入した場合
こういう構造になります。
multipart/related(メールのトップレベル)
text/html(HTMLメール)
image/jpeg(HTMLメールに挿入する画像)
HTMLメールに代替テキストを指定する場合
multipart/alternative(メールのトップレベル)
text/plain(代替テキスト)
text/html(HTMLメール)
HTMLメールに添付ファイルをつける場合
multipart/mixed(メールのトップレベル)
text/html(HTMLメール)
application/octet-stream(添付ファイル)
こういうのもある
mail/html(メールのトップレベル:HTMLメール指定)
↓は困るけれど、ありうるなあ。
multipart/mixed
text/html(HTMLメール)
text/html(添付されたHTMLファイル)
と、これらを組み合わせて、複雑怪奇な構造を作って、添付ファイルありの挿入画像ありの代替テキストありのHTMLメールが作れるわけです。
multipart/mixed(メールのトップレベル)
mulipart/related
multipart/alternative
text/plain(代替テキスト)
text/html(HTMLメール)
image/jpeg(挿入する画像)
application/octet-stream(添付ファイル)
どうやてt、HTMLメール中で、挿入画像を指定しているかは、RFCを見てください。
基本的にはcid:Content-IDと指定していますんで、それほど難しいわけではないと思うんですが。
ま、構造はこんな所で。
この記事へのコメント