デコメールのテンプレートについて。

携帯電話でのウェブ利用者の間で使われるHTMLメール・デコメールのテンプレートについて解説します。

デコメールのテンプレートについて・目次。

デコメールとは。

デコメールとは、デコレーションメールの略で、携帯電話向けのHTMLメールの事です。

メールと画像などを組合わせ、画像に合わせた背景色などを指定する事で表現力のあるメールを実現すると言うものです。

デコメールを実際に利用するには、テンプレートをダウンロードしてそれに本文を記述すると言うのが最も手っ取り早いようです。

このため、企業などには広告入りのテンプレートを配布しているところもあります。

ドコモはデコメールテンプレートの制作ツールも配布しており(ウィンドウズのみ)、比較的敷居は低くなっておりますが、他社ではそのようなサーヴィスはしていないようです。

ここでは、仕様が明らかになっているドコモ, KDDI/沖縄セルラー及びソフトバンクのデコメールテンプレートについて解説します。

より多くの端末で使えるテンプレート。

ドコモのデコメールは端末に依りヴァージョンが決められております。

このため、少し前の端末だと折角のテンプレートが使えないと言う事もあり得ます。

このため、以下の条件に従っておけば、対応端末に漏れなく対応出来るでしょう。

ファイル容量
1万バイト以内とします。
画像の形式

GIF画像またはJPEG画像とし、最大五枚までとします。

画像の制限

画像は常に単一のブロックレヴェル要素とし、前後で改行するようにします。

デコメールテンプレートに利用出来るタグ。

仕様の詳細を公開しているドコモ及びKDDI/沖縄セルラーでは、以下のタグが利用出来ます。

ファイルのフォーマット。

デコメールテンプレートのファイルフォーマットは以下のようになります。

共通の注意事項。

HTML及び画像等の各パーツは、それぞれのパーツに関する情報を与えるヘッダと本体に分かれます。

ヘッダと本体は空行一行で分離されます。

ですから、空行には意味があり、従って空行は取り除いたり余計に加えたりする事は絶対にいけません

用語の説明。

以下、ファイルの形式の説明で出てくる言葉を解説しておきます。

境界文字列

境界文字列とは、HTML部分, 各画像・フラッシュ部分を分別するための境界となる文字列で、 --[境界文字列] と同じ内容の行が現われないように定められます。

画像等の形式

画像等の形式とは、画像またはフラッシュの形式を表すMIMEタイプの事です。

デコメールでは以下のものが指定出来ます。

image/gif
GIF画像。静止GIF画像かアニメーションGIF画像かは問いません。
image/jpeg
JPEG画像。
application/x-shockwave-flash
フラッシュ。
画像等のファイル名

画像等のファイル名は、デコメールでは特に意味は持ちません。

主にローカルで付けたファイル名がそのまま使われる事となります。

画像等に与えたID

画像等に与えたIDとは、実際に画像またはフラッシュを埋め込む<img>要素及び<object>要素にて、それぞれsrc属性, data属性の値となるURIに用いられる文字列です。

画像等のデータ

画像等のデータとは、画像またはフラッシュの実際のデータです。

メールではバイナリデータをそのまま送受信する事が出来ないため、Base64と呼ばれる、64種の英数字記号を用いたエンコーディングを用いてデータをテキスト化します。

ドコモのデコメールの場合。

ドコモのデコメール用のテンプレートの場合、以下の形式となります。

Decomail-Template
MIME-Version: 1.0
Content-Type: multipart/related; boundary="[境界文字列]"

--[境界文字列]
Content-Type: text/html; charset=Shift_JIS
Content-Transfer-Encoding: 8bit

<html>
    [HTML部分]
</html>

--[境界文字列]
Content-Type: [一枚目の画像等の形式]; name="[一枚目の画像等のファイル名]"
Content-Transfer-Encoding: base64
Content-ID: <[一枚目の画像等に与えたID]>

    [一枚目の画像等のデータ]


--[境界文字列]
Content-Type: [二枚目の画像等の形式]; name="[二枚目の画像等のファイル名]"
Content-Transfer-Encoding: base64
Content-ID: <[二枚目の画像等に与えたID]>

    [二枚目の画像等のデータ]


…
--[境界文字列]--

ドコモのデコメールの場合の注意事項。

ドコモのデコメール用テンプレートを作るうえでの注意事項は以下の通りです。

HTMLの記述
HTMLは、シフトJISコードで記述します。
画像等に与えるID
画像等に与えるIDについては、半角英数字の列で、且つ同一テンプレート内にある他の画像等のIDと重複しないものであれば特に制約はありません。

ドコモのデコメールテンプレートの形式。

ドコモのデコメールテンプレートファイル・DMTファイルは、

となります。

ドコモのデコメールテンプレートの配布方法。

通常のリソース同様、<a>要素でリンクするだけです。

<ul>
    <li><a href="Horikita_Maki.dmt" type="application/x-decomail-template">テンプレート</a></li>
    </ul>

KDDI/沖縄セルラーのデコレーションメールの場合。

KDDI/沖縄セルラーのデコレーションメール用のテンプレートの場合、以下の形式となります。

KDDI_HTML_MAIL_1_0
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary=[境界文字列]"

--[境界文字列]
Content-Type: text/html; charset=ISO-2022-JP
Content-Transfer-Encoding: 7bit

<html>
    [HTML部分]
</html>

--[境界文字列]
Content-Type: [一枚目の画像等の形式]; name="[一枚目の画像等のファイル名]"
Content-Transfer-Encoding: base64
Content-ID: <[一枚目の画像等に与えたID ]>

    [一枚目の画像等のデータ]


--[境界文字列]
Content-Type: [二枚目の画像等の形式]; name="[二枚目の画像等のファイル名]"
Content-Transfer-Encoding: base64
Content-ID: <[二枚目の画像等に与えたID ]>

    [二枚目の画像等のデータ]


…
--[境界文字列]--

KDDI/沖縄セルラーのデコレーションメールの場合の注意事項。

KDDI/沖縄セルラーのデコレーションメール用テンプレートを作るうえでの注意事項は以下の通りです。

フラッシュを入れる場合

KDDI/沖縄セルラーでは、デコレーションメールのヴァージョンをテンプレートのヘッダで指定します。

従いまして、フラッシュが含まれる場合はヘッダの一行目を以下のように書き直してください。

HTMLの記述

HTMLは、ISO-2022-JP(JISコード)で記述します。

このため、HTML部分のヘッダドコモ用のデコメールでのHTML部分ヘッダなどと異なります。

画像等に与えるID

画像等に与えるIDについては、以下の形式を遵守してください。

具体的には、

  1. 一番目の画像には img_cid_000,
  2. 二番目の画像には img_cid_001,

とします。

KDDI/沖縄セルラーのデコレーションメールテンプレートの形式。

KDDI/沖縄セルラーのデコレーションメールテンプレートファイル・DMTファイルは、

となります。

KDDI/沖縄セルラーのデコレーションメールテンプレートの配布方法。

配布するには、<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>要素です。

  1. [テンプレートファイル名]は実際に読み込むデコレーションメールテンプレートのファイル名を
  2. [受信中のメッセージ]は読み込んでいる間に表示されるメッセージ(お待ちください など)を
  3. [テンプレート名]は実際に読み込むデコレーションメールテンプレートの名前を

それぞれ指定します。

また、<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.0
HTMLMail-Template-Title: [テンプレート名]

MIME-Version: 1.0
Content-Type: multipart/related; boundary="[境界文字列]"

--[境界文字列]
Content-Type: text/html; charset=Shift_JIS
Content-Transfer-Encoding: 8bit

<html>
    [HTML部分]
</html>

--[境界文字列]
Content-Type: [一枚目の画像等の形式]; name="[一枚目の画像等のファイル名]"
Content-Transfer-Encoding: base64
Content-ID: <[一枚目の画像等に与えたID]>

    [一枚目の画像等のデータ]


--[境界文字列]
Content-Type: [二枚目の画像等の形式]; name="[二枚目の画像等のファイル名]"
Content-Transfer-Encoding: base64
Content-ID: <[二枚目の画像等に与えたID]>

    [二枚目の画像等のデータ]


…
--[境界文字列]--

ソフトバンクのデコレメールの場合の注意事項。

ソフトバンクのデコレメール用テンプレートを作るうえでの注意事項は以下の通りです。

テンプレート名
テンプレートの名前をシフトJISコードで記述します。
HTMLの記述
HTMLは、シフトJISコードで記述します。
画像等に与えるID
画像等に与えるIDについては、半角英数字の列で、且つ同一テンプレート内にある他の画像等のIDと重複しないものであれば特に制約はありません。

ソフトバンクのデコレメールテンプレートの形式。

ソフトバンクのデコレメールテンプレートファイル・HTMLメールテンプレートファイルは、

となります。

ソフトバンクのデコレメールテンプレートの配布方法。

通常のリソース同様、<a>要素でリンクするだけです。

<ul>
    <li><a href="Horikita_Maki.hmt" type="application/x-htmlmail-template">テンプレート</a></li>
    </ul>

実際に複数会社向けに配布するには。

実際にマルティキャリアにしようとした場合、

がネックとなります。

考えられる方法は以下のようなものでしょう。

HTML部分

KDDI/沖縄セルラーに対しては、

  1. <img>要素のsrc属性値や<object>要素のdata属性値に書かれているURIを cid:img_cid_nnn と言う形に変換する(当然、元のIDとの対照表を作成した上で変換します)。
  2. エンコーディングをシフトJISコードからISO-2022-JP(JISコード)に変換します。
画像等の部分

KDDI/沖縄セルラーに対しては、IDを cid:img_cid_nnn と言う形に変換します。

ファイル全体

ドコモ以外には、それぞれのフォーマットに合わせて再編します。

配布

しらぎくのウェブサイト作成入門サイトマップ

ページ外へのご案内。

marguerite.site@gmail.com