Movable Type から送信されるメールがGmailで文字化けしてしまう

更新日: 公開日:2008/04/29
Movable Type

Movable Type のコメント投稿や、トラックバック受信時に Gmail 宛にメールが届くように設定したところ、メール本文の半角アルファベットと数値以外、全て「?」で表示される状態になっていました。

メールの受信を契機に管理画面へアクセスするので、メールが届いたことが分かれば文字化けしていても特に問題はありません。しかしこのまま放置しておくのも気になるので、対応することにしました。

文字コードは UTF-8 で統一している

MovableType で書いているサイトの文字コードは UTF-8 (Unicode) です。そして Gmail の文字コードも UTF-8 です。

このままでも問題無さそうなのに、どうして文字化けしてしまうのか?原因はメール送信時の文字コードにありました。

メールの文字コードを設定する

Movable Type で送信メールの文字コードを決めている環境変数は MailEncoding です。

ファイル名mt-config.cgi
環境変数名MailEncoding
初期値ISO-8859-1
設定されていた値ISO-2022-JP (これが問題!)

Gmail で文字化けしないようにするには、送信メールのエンコードを UTF-8 に変更すれば解決します。config ファイル (mt-config.cgi) へ次の一行を設定するだけです。既に何かしら設定されていた場合は、UTF-8 で上書きしてください。

MailEncoding UTF-8

これで無事に Gmail で文字化けしないメールが届くようになりました。

Webメールの場合、利用するソフトによって文字コードが違う場合があります。今回は Gmail に特化した話でしたが、送付先の環境に合わせて環境変数を変更するようにしてください!

以上、Movable Type から送信されるメールの文字化け対応についてでした。

この記事をシェアする

最新の更新情報は、Twitter、Facebook、Freedly にてお届け!

NJ-CLUCKER RSS

このブログの運営者

NJ

元システムエンジニアから、個人事業主として独立。Web サイト運営、動画制作など活動の場を広げています。このブログでは、困ってたどり着いた人に、分かりやすく答えを提供できるように心掛けています。

更新情報は、Twitter や Facebook ページを参照ください。フォローお待ちしています。