▼ 2008/04/12(土) デコメール携帯4社MIMEマルチパート比較
■デコメールの仕様の違いを明らかにする
携帯端末でのメールにデコメールなるものがある。会社によって、デコレーションメール(au,EM)やら、デコレメール(SB)やら、デコラティブメール(WL)などの呼び名が違う。
呼び名が違えど、規格はいっしょ。ならば話は簡単なのだけど、そうは問屋がおろさない。
技術的に微妙に違う部分があり、現在開発中のメールラッパーも苦戦した。
(デコメ対応高機能日本語メールライブラリQdmailとして公開しています。)
デコメールは、いわゆるHTMLメールの一類型といえるが、一般的なHTMLメールともMIMEのマルチパート構成が違うので、これもまたやっかいな問題であった。
せっかくなので、ここにまとめておく。
なお、実機での検証なので、すべての機種であてはまる保証があるわけではない。
また、ドコモ(DOCOMO)やauでは、ある程度技術資料を公開しているが、それと若干食い違う部分もある。ソフトバンクモバイル(SoftbankMobile)やイーモバイル(E-Mobile)は技術資料をインターネット上では公開していないようだ。
結論としては、一番最初に始めたドコモ仕様が一番複雑であり、他の会社の仕様はそれの簡易版とみていい。ただし、省略の仕方が各社とも様々である。
・注意点
以下のマルチパート構成は、あくまでもPCメールアドレスへ当該実機が送る際に作成したものを分析している。
テンプレートとは全く異なるので注意のこと。
また会社によっては、送り先を自動判別し、送るキャリア、機種によってマルチパート構成を変えているのもあるため、その点も留意が必要である*1(例えば。ドコモの「HTMLメール送受信時のデータ処理」、auの「デコレーションメールの送受信条件」)。
*1 : 例えばdocomo→auとdocomo→PCでは、マルチパート構成が実際に違った。
■メールのマルチパートの構成
ドコモ - デコメール
NTT Docomoは、P905iにて検証した。
multipartの構成はこのようになる。
mixed (SB,EMではなし) | |||
related (auではなし) | |||
alternative | |||
plain+html | |||
image (インライン) | |||
image (通常添付) |
なお、ドコモの技術資料「インターネット経由でデコメールを送るには」では、mulitipart/mixedはない形だが、実機の検証では、mulitipart/mixedが一番外側にあった。
au - デコレーションメール
auは、W43Hで検証した。
multipartの構成
mixed | |||
alternative | |||
plain+html | |||
image (インライン) |
auはドコモほどは技術資料が充実していないが、デコメのテンプレートについての解説記事はある。テンプレート概要
なお、W43Hでは、インラインではない通常の添付ファイルをデコメでは添付することができなかった(他の機種ではわからない。)。
追記auのコンテンツIDの制約
ソフトバンクモバイル、イーモバイル
両者は今回の検証では全く同じマルチパート構成であった。ソフトバンクモバイルは、913SH、E-MobileはH11Tで検証した。

multipartの構成
related | ||
alternative | ||
plain+html | ||
image (インライン・通常添付) |
なお、ソフトバンクでは、以前はアレンジメールと呼称していたようだ。
追記)Willcomも同じだった。
一般的?なインラインHTMLメール
PHPのPear::Mailが作り出すインラインHTMLメールのマルチパート構成は以下のようである。これらについては、Y-110's Wiki-携帯デコメールMIMEフォーマットの違い とウノウテストラボ-デコメールとはを参考にさせていただいた。自分では面倒なので試していない。上記2つののサイトをきっかけに今回の記事が生まれました。多謝。

mixed | |||
alternative | |||
plain | |||
related | |||
html | |||
image (インライン) | |||
image (通常添付) |
なお、インラインHTMLは、通常添付ファイル付きのHTMLメールとは違うので注意。
いわゆる、MHTML,mht方式((に類似?と言った方がいいのか))と思えばいいです。
スポンサードリンク
総括
どの方式をとろうとも、結局は受け取る側のメーラーが対応しているかどうか、という点が実務上はもっとも大事なことであるけれども、理論的に考えれば、まともな順に以下のように考えられる。Pear::Mail →(大きな壁)→ Docomo → SB,EB →(大きな壁)→ auSB,EB方式までは、まあ納得できるのだけれど、au方式は、relatedを使わない点で、そうとう違和感がある。かなりあわてて導入したのか、後発なのに*2どうしちゃったんでしょうね。「Content-Idで紐付けができれば表示できるでしょ」ということで、いらないものをばっさりと削ったのかも知れません。
大きな壁は、上の図のように2ある。
Pear::Mailとdocomoは、text/plain の位置が、relatedの中に入っているか入っていないかの違いであるが、これが大きい。
SB,EBとauの違いは、そもそもrelatedを使用するかしないかの違いがあり、これもまた大きい。
せめてみんなdocomo方式に揃えてくれたら楽だったのにね。
というかみんなPear::Mail方式だったら、もっと楽だったのにね。
*2 : Docomoに次いで2番目だそうだ。
■留意点
上記はあくまでも「PC向けに実機が作り出した」MIMEマルチパート構成である。- 他の携帯端末向け
- 実機が表示できる
- テンプレート
どれも興味深い結果がでているのだけれど。
■あなたの端末からデコメールを送って下さい!
もし、この記事があなたの役に立ったり、知的好奇心を少しでも満足されられたと感じた方。もう少し協力していただけませんか?
もし、下記の検証済み端末にあなたの端末が掲載されていないのなら、以下のメールアドレスにあなたの携帯端末から、デコメールを送って下さい。特にウィルコムが欲しいですね~。
その結果を検証し、ここに追加掲載します。
検証済み端末
ドコモP905i |
F905i (tanks to Junさん!) |
P701,P902,SH901(Thanks to ぶりっぺさん) |
W43H | W56T(Thanks to ぶりっぺさん) |
913SH | 912T(Thanks to ぶりっぺさん) |
H11T |
WX330K(Thanks to 悩める技術者さん) |
デコメの内容
内容はデコメであれば何でもいいのですが、必ず以下の項目を書き添えて下さい。- キャリア名(ドコモ、au、ソフトバンクモバイル、ウィルコムなど)
- 機種名
- 公表してもよい、あなたのペンネーム
できることなら
できれば、「普通のデコメール」と「普通のデコメールにさらに通常添付ファイルをつけたもの」の2通を続けて送っていただけるともっとうれしいです。この意味がわからない方は、普通に1通のデコメを送っていただければいいです。
留意点
- 個別の返信はいたしません
- メールアドレスの管理は万全を期します*4が、個人でやってますので保証、保障はいたしません。信頼できない方は送ってこないで下さい。
送り先のメールアドレス
以下のアドレスにお願いします。私の通常のアドレスに送りつけられても対応いたしかねます。送り先
spokdecotestの後ろに、@yahoo.co.jpをつけたアドレスです。
または、QRコードを読み取って下さい。

▼ コメント(0件)
- TB-URL http://www.cpa-lab.com/tech/0126/tb/
-
▼
ウィルコムのデコメは、SoftbankMobileと同じ
CPA-LABテクニカル こちらで、デコメール携帯4社MIMEマルチパート比較においてウィルコム等のデコメ*1の情報を求めていたけれども、ありがたいことに情報をいただいた。WX330Kの実機から、デコメを送っていただき、その解析結果をここに書きたいと思う。(情報提供:悩める技術者さ...
-
▼
デコメはQuoted-Printableエンコードで送られてくる。
CPA-LABテクニカル Eメールのエンコード方式にはいくつかある。7bit,8bit,Base64,Quoted-Printableと、主だったもので4種類。この中で、Quoted-Printableは、日本ではあまりポピュラーでなく*1未対応のメーラーもあるようだ。しかし、、、...
-
▼
デコメール(HTMLメール)対応のメール送信ライブラリ『Qdmail』
携帯サイトをつくろう。今回はデコメールに対応したメール送信のライブラリ『Qdmail』を紹介したいと思います。 最近ブラウザの仕様は3キャリアで大分と共通化されてきましたが、デコメール(HTMLメール)に関...
-
▼
メールの添付ファイル名とMIME文字コードと色々メモ
adiary開発日誌 メールの添付ファイルやMIMEに関するメモ。実装サンプルは adiary を落として lib/Satsuki/Base/Mail.pm でも開いてみてください。 MIMEのパターン マルチパート本文のヘッダ 添付ファイルでのファイル名 RFC2231準拠の...