iPhone/iPadから送信したHTMLメールがWindowsメールやOutlookで化ける

  • 公式のマニュアルにそう書いてあるわけではないので自信がないのだが、iPhone/iPadのメールでは、作成中のメッセージに既存のドキュメントからテキストをコピーすると、HTMLメールとして送信されるようだ。プレーンテキストのメールから文字をコピーしただけでも、自動的にHTMLメールになる。そんなわけで、iPhone/iPadはHTMLメールを送信することが多い。
  • iPhone/iPadの送信するHTMLメールにはテキストパートとHTMLパートが存在する。そして、テキストパートのcharsetがISO-2022-JPである場合、HTMLパートはISO-2022-JPではなくUTF-8となる。下図は、iPadから送信したHTMLメールをSnow LeopardのMail 4.3で表示したもの。


  • 下図は、そのソース。


  • で、このような(テキストパートとHTMLパートのcharsetが一致しない)メールをWindowsメール*1Outlook*2で受信すると、文字化けする(下図)。


  • メールが文字化けした場合、一般に「珍しい文字とか使ってない?」というのが疑われるわけだが、このケースでは逆に「珍しい文字」(UTF-8でしか表現できない文字)を使ったほうがテキストパートもcharset=utf-8となって(HTMLパートと揃うので)文字化けしない、という点がおもしろい。

*1:テストに用いたのはWindows VistaMicrosoft Windows Mail 6。

*2:テストに用いたのはMicrosoft Office 2007のOutlook 12.0。