たまーに、「iPhoneから送られたメールが文字化けするんですケド!」といったお便りを頂きます。実際に私も何度か目撃していまして、その度に母艦を立ち上げて再送信したりしていました。Safariの上でGmailを起動したときにはこうしたトラブルが発生しない模様なので、最近ではiPhone標準のメールで受信した後、わざわざgmailアプリで返信をするという、とっても面倒なことをやっています。

でもやっぱり面倒なことはイヤ。できれば標準メールだけで完結したいと思い、まずは原因を特定することにしました。

いろいろと試行錯誤した結果、下記の条件で文字化けが発生することを確認しました。もちろん、この限りではないでしょうが、私の確認できた一例です。

送信側:iPhone アカウントはGmailもしくはmobileMe
受信側:WindowsXP、Outlook Express 6

上記の環境で、HTMLメールを送信したときに、OE上で文字化けが発生します。ただのテキストメールですと文字化けは起こりません。

これらを踏まえ、下記の対策を行うと文字化けが解消します。

・OE側でエンコードをUnicode(UTF-8)にする
・OE側で「メッセージはすべてテキスト形式で読み取る」オプションをONにする

ただ、これですと、基本的に受け手側で対処してもらわなきゃならんのですよねー。お客様に送ったメールが文字化けしていた場合、「表示をテキスト形式に変更してくださいよ」なんて言えないでしょう。

通常、iPhoneのメールではHTMLメールを作成することはできないようですが、送られてきたHTMLメールを返信、転送する場合に上記のフラグが立つみたいです。iPhoneではメールを「強制的にテキスト形式にする」ようなオプションは無さそうですし、これはもうどうしようもありません。しかも、送られてくるHTMLメールは、一見テキスト形式にしか見えない場合もありますからね。

なお、試しにOSXのmail.appから、上記のWinXP,OEにHTMLメールを送ってみたところ、こちらは正しく表示されました。うーむ、これは一体どういう事だ。

さらに、WinXP+Becky!で試してみたところ、こちらも正常に表示されます。となると・・・ ただOEがヘボいだけのような気もしてきましたが・・・。

みなさんの周りではこうしたトラブルはありませんか?

Nobu