携帯電話でのウェブ利用者の間で使われるHTMLメール・デコメールのテンプレートについて解説します。
デコメールとは、デコレーションメールの略で、携帯電話向けのHTMLメールの事です。
メールと画像などを組合わせ、画像に合わせた背景色などを指定する事で表現力のあるメールを実現すると言うものです。
デコメールを実際に利用するには、テンプレートをダウンロードしてそれに本文を記述すると言うのが最も手っ取り早いようです。
このため、企業などには広告入りのテンプレートを配布しているところもあります。
ドコモはデコメールテンプレートの制作ツールも配布しており(ウィンドウズのみ)、比較的敷居は低くなっておりますが、他社ではそのようなサーヴィスはしていないようです。
ここでは、仕様が明らかになっているドコモ, KDDI/沖縄セルラー及びソフトバンクのデコメールテンプレートについて解説します。
ドコモのデコメールは端末に依りヴァージョンが決められております。
このため、少し前の端末だと折角のテンプレートが使えないと言う事もあり得ます。
このため、以下の条件に従っておけば、対応端末に漏れなく対応出来るでしょう。
GIF画像またはJPEG画像とし、最大五枚までとします。
画像は常に単一のブロックレヴェル要素とし、前後で改行するようにします。
仕様の詳細を公開しているドコモ及びKDDI/沖縄セルラーでは、以下のタグが利用出来ます。
デコメールテンプレートのファイルフォーマットは以下のようになります。
HTML及び画像等の各パーツは、それぞれのパーツに関する情報を与えるヘッダと本体に分かれます。
ヘッダと本体は空行一行で分離されます。
ですから、空行には意味があり、従って空行は取り除いたり余計に加えたりする事は絶対にいけません。
以下、ファイルの形式の説明で出てくる言葉を解説しておきます。
境界文字列とは、HTML部分, 各画像・フラッシュ部分を分別するための境界となる文字列で、 --[境界文字列] と同じ内容の行が現われないように定められます。
画像等の形式とは、画像またはフラッシュの形式を表すMIMEタイプの事です。
デコメールでは以下のものが指定出来ます。
image/gifimage/jpegapplication/x-shockwave-flash画像等のファイル名は、デコメールでは特に意味は持ちません。
主にローカルで付けたファイル名がそのまま使われる事となります。
画像等に与えたIDとは、実際に画像またはフラッシュを埋め込む<img>要素及び<object>要素にて、それぞれsrc属性, data属性の値となるURIに用いられる文字列です。
画像等のデータとは、画像またはフラッシュの実際のデータです。
メールではバイナリデータをそのまま送受信する事が出来ないため、Base64と呼ばれる、64種の英数字記号を用いたエンコーディングを用いてデータをテキスト化します。
ドコモのデコメール用のテンプレートの場合、以下の形式となります。
Decomail-TemplateMIME-Version: 1.0Content-Type: multipart/related; boundary="[境界文字列]"--[境界文字列]Content-Type: text/html; charset=Shift_JISContent-Transfer-Encoding: 8bit<html>[HTML部分]</html>--[境界文字列]Content-Type:[一枚目の画像等の形式]; name="[一枚目の画像等のファイル名]"Content-Transfer-Encoding: base64Content-ID:<[一枚目の画像等に与えたID]> [一枚目の画像等のデータ]--[境界文字列]Content-Type:[二枚目の画像等の形式]; name="[二枚目の画像等のファイル名]"Content-Transfer-Encoding: base64Content-ID:<[二枚目の画像等に与えたID]> [二枚目の画像等のデータ] …--[境界文字列]--
ドコモのデコメール用テンプレートを作るうえでの注意事項は以下の通りです。
ドコモのデコメールテンプレートファイル・DMTファイルは、
となります。
通常のリソース同様、<a>要素でリンクするだけです。
<ul><li><a href="Horikita_Maki.dmt" type="application/x-decomail-template">テンプレート</a></li></ul>
KDDI/沖縄セルラーのデコレーションメール用のテンプレートの場合、以下の形式となります。
KDDI_HTML_MAIL_1_0MIME-Version: 1.0Content-Type: multipart/mixed; boundary=[境界文字列]"--[境界文字列]Content-Type: text/html; charset=ISO-2022-JPContent-Transfer-Encoding: 7bit<html>[HTML部分]</html>--[境界文字列]Content-Type:[一枚目の画像等の形式]; name="[一枚目の画像等のファイル名]"Content-Transfer-Encoding: base64Content-ID:<[一枚目の画像等に与えたID ※]> [一枚目の画像等のデータ]--[境界文字列]Content-Type:[二枚目の画像等の形式]; name="[二枚目の画像等のファイル名]"Content-Transfer-Encoding: base64Content-ID:<[二枚目の画像等に与えたID ※]> [二枚目の画像等のデータ] …--[境界文字列]--
KDDI/沖縄セルラーのデコレーションメール用テンプレートを作るうえでの注意事項は以下の通りです。
KDDI/沖縄セルラーでは、デコレーションメールのヴァージョンをテンプレートのヘッダで指定します。
従いまして、フラッシュが含まれる場合はヘッダの一行目を以下のように書き直してください。
KDDI_HTML_MAIL_3_0HTMLは、ISO-2022-JP(JISコード)で記述します。
このため、HTML部分のヘッダがドコモ用のデコメールでのHTML部分ヘッダなどと異なります。
画像等に与えるIDについては、以下の形式を遵守してください。
img_cid_[三桁の半角数字]具体的には、
img_cid_000,img_cid_001,とします。
KDDI/沖縄セルラーのデコレーションメールテンプレートファイル・DMTファイルは、
となります。
配布するには、<object>要素を入れた配布ページを作成し、そこにリンクすると言う形を採ります。
フラッシュを含まないテンプレートの場合には、以下のページを作って配布します。
<?xml version="1.0" encoding="shift_jis"?><!DOCTYPE html PUBLIC "-//OPENWAVE//DTD XHTML Mobile 1.0//EN" "http://www.openwave.com/DTD/xhtml-mobile10.dtd"><html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja"><head><meta http-equiv="content-type" content="text/html; charset=shift_jis"/><title>デコレーションメール用テンプレート</title></head><body><h1>テンプレート</h1><ul><li><object data="[テンプレートファイル名]" type="application/x-kddi-htmlmail" standby="[受信中のメッセージ]"><param name="disposition" value="dev1htm" valuetype="data"/><param name="title" value="[テンプレート名]" valuetype="data"/></object></li></ul></body></html>
ここで重要なのは<object>要素です。
それぞれ指定します。
また、<param>要素に於いて、name="disposition" 属性と value="dev1htm" が書かれておりますが、これに依りファイルの種類を判別するようですので正確に書きましょう。
具体的には以下のようになります。
<object data="Horikita_Maki.khm" type="application/x-kddi-htmlmail" standby="お待ちください…"><param name="disposition" value="dev1htm" valuetype="data"/><param name="title" value="堀北真希" valuetype="data"/></object>
フラッシュを含むテンプレートの場合は、ヴァージョンが異なるため、記述が若干異なります。
<?xml version="1.0" encoding="shift_jis"?><!DOCTYPE html PUBLIC "-//OPENWAVE//DTD XHTML Mobile 1.0//EN" "http://www.openwave.com/DTD/xhtml-mobile10.dtd"><html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja"><head><meta http-equiv="content-type" content="text/html; charset=shift_jis"/><title>デコレーションメール用テンプレート</title></head><body><h1>テンプレート</h1><ul><li><object data="[テンプレートファイル名]" type="application/x-kddi-htmlmail" standby="[受信中のメッセージ]"><param name="disposition" value="dev2htm" valuetype="data"/><param name="title" value="[テンプレート名]" valuetype="data"/></object></li></ul></body></html>
大筋はフラッシュを含まない場合と同じですが、<param>要素に於いて、name="disposition" 属性と value="dev2htm" が異なっております。
ソフトバンクのデコレメール用のテンプレートの場合、以下の形式となります。
HTMLMail-Template-Version: 1.0HTMLMail-Template-Title:[テンプレート名]MIME-Version: 1.0Content-Type: multipart/related; boundary="[境界文字列]"--[境界文字列]Content-Type: text/html; charset=Shift_JISContent-Transfer-Encoding: 8bit<html>[HTML部分]</html>--[境界文字列]Content-Type:[一枚目の画像等の形式]; name="[一枚目の画像等のファイル名]"Content-Transfer-Encoding: base64Content-ID:<[一枚目の画像等に与えたID]> [一枚目の画像等のデータ]--[境界文字列]Content-Type:[二枚目の画像等の形式]; name="[二枚目の画像等のファイル名]"Content-Transfer-Encoding: base64Content-ID:<[二枚目の画像等に与えたID]> [二枚目の画像等のデータ] …--[境界文字列]--
ソフトバンクのデコレメール用テンプレートを作るうえでの注意事項は以下の通りです。
ソフトバンクのデコレメールテンプレートファイル・HTMLメールテンプレートファイルは、
となります。
通常のリソース同様、<a>要素でリンクするだけです。
<ul><li><a href="Horikita_Maki.hmt" type="application/x-htmlmail-template">テンプレート</a></li></ul>
実際にマルティキャリアにしようとした場合、
がネックとなります。
考えられる方法は以下のようなものでしょう。
KDDI/沖縄セルラーに対しては、
cid:img_cid_nnn と言う形に変換する(当然、元のIDとの対照表を作成した上で変換します)。KDDI/沖縄セルラーに対しては、IDを cid:img_cid_nnn と言う形に変換します。
ドコモ以外には、それぞれのフォーマットに合わせて再編します。