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 から送信されるメールの文字化け対応についてでした。

\ この記事をシェアする /

このブログの運営者

NJ

Web系メインで従事していた元システムエンジニア。現在は個人事業主として独立。Webサイト運営における「困った問題」の解決方法をブログで発信。Web サイト運営、ポップデザインや動画制作など、パソコンでモノづくりをしている。