PayPalオートメール

メールの文字化け??

2010年09月15日
PayPalオートメール】のユーザーさんから、特定の環境で、文字化けが起こっている、との連絡を受けて、ずっと調査していました。

Becky!、Liveメール、Outlook、Outlook Expressで起こっているようです。

私はBeckyを使っていますが、一度も化けたことはありません。

ユーザーさんが化けたメールを表示している画像を送ってくださいました。

観てみると・・・
添付ファイルを添付として認識していません。
本文は化けておらず、本文の後ろにBase64でエンコードした添付がくっついています。

急遽、Liveメール、Outlook、Oytlook Expressをインストールして、同様にテストしてみました。
何度やっても化けません・・・ なぜだぁ~~~~

Liveメールで化けたメールをユーザーさんが手に入れてテキストファイルにして送ってくださいました。
調べると、UTF-8で送信しているのに、ISO-2022-JPでデコードされていました。
更によく観ると、メールのヘッダのSubjectの先頭が欠落しているではありませんか!

もしかすると、ファイルにするときコピペを誤っただけかもしれませんが。

後一点、改行コードが必要以上なのも気になりますが・・・
でもこちらで同じサブジェクトで送信し、そのメールのソースをチェックしましたが、改行コードが多いなんてことはありませんでした。
???

とにかく何度やっても、再現しないのです。

で、Liveメールで送信時のエンコードをISO-2022-JPに設定、受信時のデコードを作成メールと同じ、という設定にすると、(当たり前ですが)見事に化けました。
おそらくこれが原因でしょう。

Outlookのデコード方式を全体に設定する方法が分からずこちらは断念。
あまり実りのある作業とは思えないので打ち切ります。

送信しているメールは、フォーマットに従っています。
http://www.atmarkit.co.jp/fnetwork/rensai/netpro03/netpro01.html
http://www.atmarkit.co.jp/fnetwork/rensai/netpro04/netpro01.html

これが違っていると問題ですが、きちんとしたがっているので、これにて終了!

ですが、8ビットに対応していないサーバーを経由すると、文字化けが起こる可能性がある、とのことなので、UTF-8で送信する場合、8bitで送信するか、base64でエンコードして送信するかを選択できる機能を付け加えました。
コメントの書き込み
コメント