WEBサイト制作サービスWEBsite Design service

WEBメール制作:絵文字入力とメール送信の処理説明

絵文字入力編集と携帯電話へのメール送信説明

WEBメールによる絵文字メールの送信処理概要

  • 携帯電話の絵文字付きのメールをWEBメールで絵文字画像入力編集とメール送信を実現するためのシステムの一例です。
  • Ajax活用して絵文字画像一覧を表示し、絵文字画像をクリックすると絵文字コードが編集中の文章入力フォームに挿入するものです。
  • 絵文字画像を含んだ入力文章を新ウィンドウに表示して入力した文章内容を確認できます。(絵文字画像を「html」の<img>でリンクして表示)
  • ドコモ、AU、ソフトバンクの携帯電話で使用する絵文字が混在したメール作成ができ、パソコンへのメールも可能です。送信先のメールアドレスから、対応する絵文字に変換するものです。
  • 「HTML」と「プレーンテキスト」の両方のメールを編集して送信します。「HTML」メールに対応する携帯端末の場合は、その携帯電話会社の絵文字のインライン画像を添付します。「テキスト」メールは、「HTML」メールに非対応携帯電話の場合に受信して、対応携帯の絵文字をバイナリ絵文字コードに変換しますが、非対応の絵文字の場合は、「絵文字の内容」に変換します。
  • パソコンの場合は、「HTML」メールと「テキスト」メールの両方を受信します。「HTML」メール用の絵文字は、添付ファイルでインライン画像のメール形式となります。
絵文字メールシステムの説明


絵文字入力編集とメール送信の仕組み

  • 【1】絵文字を文章中に挿入する場合は、送信先の携帯電話を想定して、「絵文字選択」ボタンをクリックすると該当する絵文字画像一覧をインラインフレームの場所に表示されます。
  • 【2】選択した絵文字の情報は、Javascriptで該当する絵文字画像一覧の「HTMLページ」をインラインフレームに表示する動作を実施し、その「HTMLページ」からAjaxによる方式で、WEBサーバから絵文字情報を読み込みます。
  • 【3】インラインフレームに表示された絵文字一覧の画像をクリックすると該当する絵文字コードをJavascriptの「pearent.document」で入力中のフォームに追加されます。
  • 【4】絵文字コードは、「UNICODE」で設定しているので各社の携帯電話で重複しないコード体系になります。そのため、文章入力中に別の携帯電話の絵文字画像一覧を選択して、絵文字コードの入力ができます。(各社混在した絵文字画像のメール作成ができます)
  • 【5】「内容表示とメール送信フォーム表示」ボタンをクリックするとJavascriptでメール送信フォームを新しいウィンドでオープンします。その際に絵文字コードから絵文字画像パス(HTMLのIMG形式)に変換して表示しますので、入力した絵文字画像入りの文章の確認ができます。
  • 【6】表示された送信フォームに宛先、件名、送信者のメールアドレスを入力して、「メール送信」ボタンをクリックすると入力済みの文章と共にWEBサーバに送信されます。WEBサーバは、CGIで受取った情報を宛先のメールアドレスから携帯電話会社又はパソコンを判断して、絵文字コード変換とメール送信用のHTMLパート、テキストパート、添付ファイルパート(インライン画像)を作成してメール送信を実行します。
絵文字メール処理詳細の説明 ◇プログラム・スクリプトのコード体系◇
項目 絵文字入力編集
フォーム
メール送信
フォーム入力
Ajax
(絵文字読込)
メール送信 備考
プログラム(スクリプト) HTML Javascript PerlでXML出力 Perl 注)Javascriptの場合は、UTF-8でないと、I.Eのブラウザでは文字化けする
作成コード:charset UTF-8 UTF-8 Shift-JIS UTF-8 WEBサーバのファイルは、Shift-JIS

携帯電話の絵文字メール仕様の比較

  • 絵文字メールについての仕様が、各社携帯電話会社のサイトで掲載されているので、その内容をまとめたものです。(空欄は、明記されていない内容です。SoftBankの仕様は、「3G端末、Xシリーズ」のもの)
  • 絵文字メールの内部コードは、「UNICODE」に統一して、メール送信時の絵文字コードに変換することが重要です。(テキストメールは、バイナリ絵文字コードの変換と埋込が必要)
  • HTMLパート、テキストパート、絵文字画像がある場合はインライン画像の添付ファイルパートのマルチパート形式でメール送信を実行する必要があります。
◇携帯電話会社の絵文字メール仕様◇
大項目 詳細項目 docomo au/KDDI SoftBank
テキストメール
絵文字コード 一覧表の表示コード Shift-JIS、JIS Shift-JIS,JIS,Unicode Unicode
パソコン送出時のコード Shift-JISのバイナリーデータ Shift-JISのバイナリーデータ UTF-8のバイナリーデータ
携帯電話のメールサーバ コード変換 JIS→Shift-JIS
Content-Transfer-Encoding: ISO-2022-JP, 64bit ←(同左) ←(同左)
HTMLメール
サービス名 デコメール デコレーションメール デコレメール
メール構成 マルチパート(HTML,TEXT,インライン画像) ←(同左)
制限内容 画像サイズ 20x20 dot
インライン画像のCID img_cid_000 〜 img_cid_019の指定のみ
インライン画像の最大数 10個(ver.1.0/2.0)、20個(Ver3.0/4.0) 10個*(10KB対応端末)、20個*(100KB対応端末)… *:通常添付ファイル含めて
インラインFlash 2個(ve.r4.0)
画像最大ファイル容量 10KB(Ver.1.0/2.0)、100KB(Ver.3.0/4.0)
通常添付ファイル 5個(10KB対応端末)、25個*(100KB対応端末)… *:インライン画像を含めて
HTML+TEXT計の容量 10KB以下
メール全体の最大容量 150KB以下 300KB以下
HTML変換送信機能 携帯電話端末間のメールのみ テキストパートへ接続先URL追記、接続先URLクリックでHTMLパートの情報をWEBブラウザ上で閲覧
絵文字コードの指定 絵文字コード(&#xXXXX; (16進数表記))をHTMLで記述(HTMLファイルにバイナリーコードを埋め込むも可能)
HTMLタグ HTML
META http-equiv="Content-Type"
content="text/html; charset=Shift_JIS"
HEAD
BODY bgcolor="char" ←(同左) ←(同左)
DIV align="left/right/center" ←(同左) ←(同左)
IMG src="cid:***" src="cid" マイ絵文字挿入
OBJECT data="cid:***"
type="application/x-shockwave-flash"
× BGM/Flashはどちらか一つ
MARQUEE behavior="scroll/alternate" ←(同左) ←(同左)
HR color="char" ←(同左) ←(同左)
BLINK
FONT × color="rgb" size="size" ←(同左)
&XXX; &amp;,&copy;,&gt;,&lt;,&quot;,&nbsp;,&reg;�〜&#127; &amp;,&gt;,&lt;,&quot;,&nbsp;&#32;〜&#126;( &#32;は半角スペースのため、文頭では利用不可)
!-- ○(pcからの受信タグ) ←(同左)
BR ○(pcからの受信タグ) ○(<DIV>&nbsp;</DIV>に置換え)
A href="char"(pcからの受信タグ)
メール・フォーマットの制限 ISO-2022-JPエンコード前のHTML本文中には改行を含めない(1行形式)
画像条件 サイズ 20x20 dot ←(同左)
ファイル形式 JPG、GIF(アニメも可能) ←(同左) JPG、GIF(アニメも可能)、PNG
Disposition JPEG形式: devdmjp  GIF形式: devdmgf
著作権保護 なし ←(同左)
利用形態 インライン画像
利用可能画像範囲 「デコレーションエモジ」フォルダへ保存されたデータも利用可能

絵文字メール送信のエンコーディング方式の仕様

  • 各社携帯電話のメールサーバが受信するメールデータが、どのコード体系のエンコーディング方式に対応しているかの実機での確認が必要です。
  • エンコーディング前に絵文字入りの文章のコード変換と絵文字のバイナリ変換して、メールデータを作成します。
  • テキストメールのみ受信する携帯電話かどうか分からないので、HTMLメールとテキストメールの両方を作成し、携帯電話のメールサーバ側が判断して携帯電話端末へ送信する事を利用しています。
◇メール送信のコード変換とエンコード方式◇
受信端末(携帯) docomo AU(ez-web) Softbank パソコン 備考
表示絵文字コード UNICODE UNICODE UNICODE UNICODE unicodeの採用で、各携帯電話のコードの重複がなくなる
変換用絵文字コード Shift-JIS Shift-JIS UNICODE なし
Encoding方式 Base-64 Base-64 Base-64 Base-64 件名、本文、添付ファイルの全て
charset Shift-JIS Shift-JIS UNICODE ISO-2022-JP
件名のEncode SHIFT-JIS 変換なし UTF-8 ISO-2022-JP
本文のEncode UTF-8 → Shift_JIS UTF-8 → Shift_JIS UTF-8 → 変換なし UTF-8 → ISO-2022-JP
絵文字のバイナリ
変換方法(Perl)
pack(H4",$code) pack(H4",$code) chr(hex($code))→utf-8
(unicode→utf-8変換)
変換なし ex.$codeは、太陽の場合
F89F,EB60,E04A(dc,au,sbの順)

ページのトップへ戻る