WordPressから送信されたメールがISO-2022-JPやらUTF-8やらで送られる

あるところから「メールフォームで送信されたメールが文字化けする」との連絡を受け、調査してみた。

使用しているプラグインは「Contact Form 7」。
日本人が制作しているだけあって、文字化けがないと評判のプラグイン。しかし、これで文字化けするという。
そこで、当方環境でもメールを受信させてみたところ、文字化けしない。メーラはbecky/thunderbird/MacintoshのMail。

becky!で受信したメールをよく見ると、メール本文を表示させた時にフォントが若干違うことに気付く。
嫌な予感がして、ヘッダを見ると「UTF-8」・・・・え?

そこで文字化けしてないと思われるメールのヘッダを見たところ「ISO-2022-JP」!
なるほど!!

でも対処法が分からないので「Contact Form7」のソースを追いかけてみたり、wp_mailのロジックを追いかけてみたけど改善しない。

確か文字化け対策のプラグインが・・・と思い出し、「wp_multibyte_patch」を眺めてみると、そこに解決の糸口が!!

・・・・/wp-content/plugins/wp-multibyte-patch/ext/ja/config-sample.phpをconfig.phpへリネーム。
config.php内の

$wpmp_conf['mail_mode'] = ‘auto’;

 を

$wpmp_conf['mail_mode'] = ‘jis’;

へ変更。

これで全てのメールがISO-2022-JPで送信されるようになる。

WordPress逆引きデザイン事典[2.X対応]

著者/訳者:高山 一登 大久保 アキラ 酒井 隆

出版社:翔泳社( 2008-09-11 )

定価:¥ 2,940

大型本 ( 328 ページ )

ISBN-10 : 479811667X

ISBN-13 : 9784798116679



About romezo/dave

インターネットサーバ構築、サイトデザインなどを始めて早10数年。 オープンソースソフトウェアに魅了された事をきっかけにインターネットの世界へ。 始めて触ったオープンソースソフトウェアは印刷を勉強するきっかけにもなったTeX。文字組にはうるさい。 あることをきっかけにメディアに関わるようになり、メディアとネットの融合を真剣に考える。業務用サイトは http://www.mt-design.info/