デコメール(dmt)、デコレーションメール(khm)、デコレメール(hmt)の仕様 - ファイルサイズ、ダウンロード方法、拡張子、Content-Type

更新:

各キャリアのデコメールの仕様について。
主にデコメール・テンプレートと呼ばれる雛形ファイルについての解説です。

デコメールの仕様

  1. 各キャリアの仕様
    ドコモ au ソフトバンク
    名称 デコメール デコレーションメール デコレメール(旧アレンジメール)
    バージョン
    ファイルサイズなど
    Version 1.0~4.0
    3.0から100KB、インライン画像20個、20dot×20dot画像のデコメ絵文字対応。
    4.0からFlash対応。
    古いデコメ対応機種(KDDI_HTML_MAIL_1_0)は10KB、インライン画像5個。 新しいデコメ対応機種(KDDI_HTML_MAIL_2_0、KDDI_HTML_MAIL_3_0)は100KB、インライン画像20個。
    KDDI_HTML_MAIL_3_0からFlash対応。
    HTML&TEXTパートは合計10KB、エンコード後のkhmファイルは、10KB端末は13KB、100KB端末は140KBが上限。
    100KB端末はダウンロードできる。
    HTMLパート30KB、全体300KB。
    Flash可、150KBまで。
    デコメテンプレート
    拡張子
    拡張子:.dmt 拡張子:.khm 拡張子:.hmt
    デコメテンプレート
    Content-Type
    application/x-decomail-template application/x-kddi-htmlmail application/x-htmlmail-template
  2. デコメール絵文字
    デコメールにインラインで画像の絵文字を使用できる。
    仕様は各社ほぼ同じ。
    ファイル形式:JPEG、GIF、アニメーションGIF
    拡張子:.jpg、.gif
    画像サイズ:縦20dot×横20dot
    Disposition(auの場合):devdmjp(JPEG)、devdmgf(GIF)
    ※デコメテンプレートのDispositionではない。
  3. デコメールの仕様は、基本はHTMLメールと同じ。
    基本的なHTMLタグが使える。
    各社デコメールのバージョンによって使用できるタグが違うので注意。
  4. 端末が扱えるデコメールのファイルサイズの上限は、各キャリア基本は100KB。
    インライン画像は最大20個までが標準的。
    新しい端末ではそれらの上限が高くなっている。
    端末が扱えるファイルサイズが10KBまでの下位の端末は、サイトでは非対応にすることがある。
  5. デコメールをサイトで配信するためのフォーマットがあり、デコメール・テンプレートと呼ばれている。
    ドコモのデコメール・テンプレートを作成できるツールは、ドコモのサイトで配布されている。
    OshimaExe というソフトには、各キャリアのテンプレートファイルを別のキャリアのテンプレートに変換する機能がある。


デコメール・テンプレートの仕様、ダウンロード方法

  1. ドコモ
    • ドコモのデコメールテンプレート作成ツールは、ドコモのサイトからダウンロードできる。
      実際にテンプレートファイルを作ってみると、デコメールの仕様を理解しやすい。
    • 以下に示すドコモ規定のフォーマットでファイルを作成する。
      HTML部分は、通常のウェブサイトと同じ書き方。
      画像に関しては、IMGタグに識別IDを書き、HTML部分の後に画像データのヘッダ情報と画像データをBase64でエンコードした文字列を記述する。
      HTML部分以外に存在する改行や半角スペースなどは、正しく行わないとエラーになる場合がある。
    • 基本構造
      Decomail-Template
      MIME-Version: 1.0
      Content-Type: multipart/related; boundary="境界識別文字列"
      
      --境界識別文字列(上記boundary)
      Content-Type: text/html; charset=Shift_JIS
      Content-Transfer-Encoding: 8bit
      
      (HTML本文)
      
      --境界識別文字列(上記boundary)
      Content-Type: 画像のContent-Type; name="画像のファイル名"
      Content-Transfer-Encoding: base64
      Content-ID: 画像の識別ID
      
      (画像データをBase64でエンコードした文字列)
      
      --境界識別文字列(上記boundary)--
      
    • 実際のサンプル
      Decomail-Template
      MIME-Version: 1.0
      Content-Type: multipart/related;boundary="1000000000"
      
      --1000000000
      Content-Type: text/html; charset=Shift_JIS
      Content-Transfer-Encoding: 8bit
      
      <html>
      <title>タイトル</title>
      <body>
      
      <div align="center"><img src="cid:00"></div>
      <div align="center">メッセージ</div>
      <div align="center"><img src="cid:01"></div>
      
      </body>
      </html>
      
      --1000000000
      Content-Type: image/gif; name="06.gif"
      Content-Transfer-Encoding: base64
      Content-ID: <00>
      
      R0lGODlhvgA8AKIAAP/////MzJn//2YzMzMAAP4BAgAAAAAAACH/C05FVFNDQVBFMi4wAwEQAAAh
      (※長いので中略)
      TPKwVyYhgHQBb1/dyBf/Z9m1+51DgJnphr3qcaZPvO3TMFs+6EMAPrzu8M8e2PwSf+736dPDiPiE
      ljysscR7XHtBAgAAOw==
      
      --1000000000
      Content-Type: image/gif; name="10.gif"
      Content-Transfer-Encoding: base64
      Content-ID: <01>
      
      R0lGODlhUAA8ALMJACQkAElJqpJJAP8kAG2Sqv9tVf+2VZLb/////wAAAAAAAAAAAAAAAAAAAAAA
      (※長いので中略)
      GGQxXBXonoxDOhgkkBQsGQyR+qHmSkZIOmklkxZc6eCWVV7p5Y0afCnmmE6GSeaZaNaYQZpszmgj
      jWa2KecBTapZ4ppzhijBnW/C+QKTZJagZw0iZrnkm+JwEGSiJJzI6KM8RAAAOw==
      
      --1000000000--
      
    • ダウンロード
      テンプレートファイルにAタグでリンクを張ってダウンロードできる。
  2. au
    • 基本はドコモと同じ。
      バージョンに関しては、KDDI_HTML_MAIL_1_0、KDDI_HTML_MAIL_2_0、KDDI_HTML_MAIL_3_0 があるが、基本構造は同じ。
      HTML部分は、iso-2022-jp 、7bit となっているので注意。
    • 画像の識別IDは、<img src="cid:img_cid_000"> というように img_cid_xxx という書き方をする必要がある。
      それに合わせてContent-IDは、Content-ID: <img_cid_000> となる。
      画像が複数ある場合は、img_cid_001、img_cid_002 というように番号を振る。
    • 基本構造
      KDDI_HTML_MAIL_1_0
      MIME-Version: 1.0
      Content-Type: multipart/mixed; boundary="境界識別文字列"
      
      --境界識別文字列(上記boundary)
      Content-Type: text/html; charset="iso-2022-jp"
      Content-Transfer-Encoding: 7bit
      
      (HTML本文)
      
      --境界識別文字列(上記boundary)
      Content-Type: 画像のContent-Type; name="画像のファイル名"
      Content-Transfer-Encoding: base64
      Content-ID: 画像の識別ID
      
      (画像データをBase64でエンコードした文字列)
      
      --境界識別文字列(上記boundary)--
      
    • ダウンロード
      OBJECTタグにてダウンロードできる。
      <object data="sample.khm" type="application/x-kddi-htmlmail" standby="リンクの文字">
      <param name="disposition" value="dev1htm" valuetype="data" />
      <param name="size" value="ファイルサイズ" valuetype="data" />
      <param name="title" value="タイトル" valuetype="data" />
      </object>
      
      data:khmファイルへのパス
      standby:ダウンロード時にページに表示される文字。
      dispositionのvalue:dev1htm(KDDI_HTML_MAIL_1_0、KDDI_HTML_MAIL_2_0)、dev2htm(KDDI_HTML_MAIL_3_0)
      sizeのvalue:データのファイルサイズ。
      titleのvalue:データのタイトル。
  3. ソフトバンク
    • 基本はドコモと同じ。
    • 基本構造
      HTMLMail-Template-Version: 1.0
      HTMLMail-Template-Title: 端末保存時のタイトル
      
      MIME-Version: 1.0
      Content-Type: multipart/related; boundary="境界識別文字列"
      
      --境界識別文字列(上記boundary)
      Content-Type: text/html; charset="Shift_JIS"
      Content-Transfer-Encoding: 8bit
      
      (HTML本文)
      
      --境界識別文字列(上記boundary)
      Content-Type: 画像のContent-Type; name="画像のファイル名"
      Content-Transfer-Encoding: base64
      Content-ID: 画像の識別ID
      
      (画像データをBase64でエンコードした文字列)
      
      --境界識別文字列(上記boundary)--
      
    • ダウンロード
      テンプレートファイルにAタグでリンクを張ってダウンロードできる。
このエントリーをはてなブックマークに追加