Gmailタグの投稿

ソフトバンク携帯から Gmail へ絵文字が送信できてた
今ごろ気がつきましたが、6月10日からソフトバンク 3G 携帯電話から、Gmail / au one メールへの絵文字送信が行なわれていました。ということは、Ktai Entry でも、ソフトバンク端末から Gmail に絵文字を送った場合の対応を行なわないといけないわけです。
Ktai Entry に絵文字対応機能を付けたとき (今年5月ごろ) は、ソフトバンクから絵文字を送れる相手は Yahoo! メールだけでした。そして、Gmail が絵文字受信可能な送信元は au とドコモだけだったのです。Gmail がソフトバンク絵文字に対応したとなると、絵文字対応については、Gmail と Yahoo! メールはほぼ対等になったと言えます (au はどこに対しても絵文字をそのまま送出です)。
しかし、Gmail と Yahoo! メールでは絵文字受信の実装方法がだいぶ違うので、調査が必要ですね。ドコモ→ Gmail は Shift_JIS で送信していますが、ドコモ/ソフトバンク→ Yahoo! は ISO-2022-JP で「独自の絵文字 JIS コード」(au の絵文字 JIS コードと互換) を使っています。ソフトバンク→Gmail はどちらの実装なのか、気になるところです。
あと、au one メールの対応をサボっていますが、これも調査して対応をすすめたいと思います。次期 Ktai Entry はやるべきことが多くて大変や〜〜。
他に考えているのは、わたしのように「メール着信したら投稿スクリプトを起動」させる (==携帯電話から自分のメールサーバーにメール投稿する) 場合でも、ドコモ/ソフトバンクの絵文字が使えるようにすることです。au とウィルコムは相手によらず絵文字を送出しているので、自分のメールサーバーでも絵文字が届きますが、ドコモやソフトバンクは行儀がいいので、特定の相手 (携帯電話や Gmail, Yahoo! メール) 以外は絵文字を〓 (ゲタ) に変換してしまいます。このため、自分のメールサーバーでは絵文字が受信できないのです。これを回避するには、ドコモ/ソフトバンク端末→ ezweb.ne.jp アドレス → 他アドレスに転送、とやればいいのではと考えています。ただ、2回目の転送時に絵文字が削除される可能性はあります。また、ezweb.ne.jp アドレスから、直接、メール投稿用アドレスに転送するのは、とってもやばいです。このため、au one メールから他アドレスに転送できるならば、投稿専用の au one メールアカウントを取得すればよいので、同じことができそうです。こちらについても、もうちょっと研究してみたいと思います。
[追記 2008-10-04] 調査してみたところ、ソフトバンク→Gmail は、Yahoo! メールと同様、絵文字用 JIS コードに変換 (本文は ISO-2022-JP) でした。このため、ソフトバンク→Yahoo! の処理を Gmail にも適用させれば OK です。というか、ソフトバンクからのメールは、Yahoo! 宛かどうかに関わらず絵文字検出させることにすればよさそうです (現状は Yahoo! 宛のみ絵文字検出)。
また、携帯電話→Gmail→他のアドレス、と転送をかけた場合、絵文字コードの除去が行なわれないので、自分のメールサーバーでも絵文字が使えそうです!!

携帯から Gmail や Yahoo! メールへ絵文字送信
Ktai Entry がそのままで SSL 使えることが分かったため、Gmail を使えることになりました。そこで、携帯電話から絵文字を Gmail に送信したときの挙動を調べてみました。Yahoo! メールも携帯絵文字の受信に対応しているっぽいので、こちらも調査してみます。
iモード | EZweb | S!メール | ウィルコム | |
---|---|---|---|---|
Gmail に送信 | Shift_JIS | ISO-2022-JP の変形 | ISO-2022-JP (絵文字は〓) | ISO-2022-JP + Shift_JIS (Web絵文字だけ Shift_JIS) |
Yahoo! メールに送信 | ISO-2022-JP の変形 | ISO-2022-JP の変形 | ISO-2022-JP の変形 | ISO-2022-JP + Shift_JIS (絵文字だけ Shift_JIS) |
EZweb (au) と WILLCOM は、送信先によらず絵文字が送れます。EZweb は本文は ISO-2022-JP でエンコードされ、絵文字は「Eメール用JISコード」を使います。WILLCOM も本文は ISO-2022-JP でエンコードされ、WILLCOM 絵文字は <#HEART> などのタグに変換、Web 絵文字 (ドコモ互換) は Shift_JIS コードがそのまま入ります。文字コード的には WILLCOM は凶悪仕様ですね コーディングはしやすいですが。
ドコモ→Gmail は Shift_JIS そのままと、プログラミング的にはやりやすいコードです。ソフトバンク→Gmail は絵文字に対応してなくて、(おそらく) ソフトバンク側で 〓 (ゲタ) に変換してしまいます。これは今後の対応を待ちましょう。
Yahoo!メールは、ドコモ、ソフトバンク両方とも ISO-2022-JP ベースのエンコーディングです。au のように「Eメール用JISコード」が公開されていないので、これは対応に時間がかかりそうです……。
[追記] Yahoo! メールで受信したドコモ/ソフトバンク絵文字ですが、まるで規則性がありません……。「パンチ」の絵文字が同じコードになっているため、Yahoo! メールは EZweb の「Eメール用JISコード」に正規化しているのかも??
文字 | ISO-2022-JP 文字列 | 16進 | Unicode |
---|---|---|---|
(^^) | }2 | 0x7d32 | U+E002 |
![]() |
vN | 0x764e | U+E00D |
[鯨] | u) | 0×7529 | U+E054 |
![]() |
y9 | 0×7939 | U+E214 |
[得] | vR | 0×7652 | U+E226 |
![]() |
xC | 0×7843 | U+E419 |
![]() |
wK | 0x774b | U+E537 |
文字 | ISO-2022-JP 文字列 | 16進 | 絵文字番号 |
---|---|---|---|
![]() |
x4 | 0×7834 | 136 |
![]() |
u3 | 0×7533 | 154 |
![]() |
uY | 0×7559 | 237 (拡37) |
![]() |
u> | 0x753e | 4 |
![]() |
vN | 0x764e | 153 |
![]() |
v? | 0x763f | 256 (拡56) |
[追記] この調査結果をもとに、Ktai Entry 0.8.2 をリリースしました。また、表の絵文字部分は、今後 Ktai Style が絵文字画像を搭載すれば文字から絵に変わっていきます。
Ktai Entry は Gmail 対応してた
なんと、Ktai Entry は SSL に対応していました。すなわち Gmail が使えるということです。ただし、PHP 自体が openssl 対応と設定されている必要があります。Gmail を使うには、「メールでの投稿」を以下のように設定すれば OK です。ログイン名は「@gmail.com」が必要です。APOP のチェックは外してください。
- メールサーバー
- ssl://pop.gmail.com
- ポート
- 995
- ログイン名
- example@gmail.com
- パスワード
- (パスワード)
Gmail 側でも、POP アクセスを設定しておきます。新しく Gmail アカウントを取らず、既存アドレスと兼用するときは、「今後受信するメールで POP を有効にする」にしてください。
そして、Gmail は postfix 流の拡張アドレスが使えるので、適当なランダム文字列 ramdomを追加した「example +random@gmail.com」が有効です。誰にも推測できない文字列を使って「example+9bf809b25bc76b2e@gmail.com」などのアドレスを作り、これを投稿受付アドレスとすれば安全です。この場合、Ktai Entry オプションの「投稿用メールアドレス」にこのアドレスを記入すれば、通常の Gmail アドレス (example@gmail.com など) に送られたアドレスは無視されます。
ただ、Gmail の POP は通常の POP サーバーと違って仕様が特殊で、DELE コマンドを発行しても削除されないなど、挙動がちょっと違います。なので、通常のメールアカウントと併用するのは避けた方が無難です。新たに Gmail アカウントを取るのがおすすめです。
[追記] iモードから絵文字つきメールを Gmail に送信すると、題名・本文ともに Shift_JIS で送信していました。ということは WILLCOM と同じコードが使えるので、コピペして iモード絵文字対応を作り込みました。とりあえず仮版を CVS に上げましたので、興味ある方は使ってみてください。