文字化けした経緯
WordPress から送信されるメールを Mailgun で送信するために、WP Mail SMTP というプラグインを使ってみました。
ドキュメントのとおりに設定を進めると、WordPress からのメールが Mailgun 経由で送信されるようになりました。
届いたメールを確認してみると…なぜか本文が文字化けしていました。
メールヘッダを見ると、Content-Type: text/html; charset="ascii"
となっています。
※ちなみに、Gmail でメールを受信した場合は、文字コードの指定が間違っていても勝手に修正して表示されるようです。
原因はプラグインのバグ
プラグインのソースコードを見ても charset を指定しているところがなかったので、調べるのにかなり時間がかかってしまいましたが、原因はプラグインのバグのようで、GitHub に Issues があがっていました。
SendGrid でも同じ現象が起こるようです。
また、やり取りを見る限り、バグの修正版は4月上旬にリリースされるようです。
本家のプラグインなら文字化けしない
もっと調べてみると、Mailgun がオリジナルのプラグインを公開していて、こちらでは文字化けは起こりませんでした。
SendGrid のプラグインもあります。
https://ja.wordpress.org/plugins/sendgrid-email-delivery-simplified/
修正版が公開されるまで待っていられない方は使ってみてはいかがでしょうか。