5
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

WordpressからSMTP経由でSendgridを利用する際に忘れてはならぬこと

Posted at

WordpressからSTMP経由でメール送りたいこと、よくあるよね。ある。そんなときに、WP Mail SMTPっていう便利なプラグインがあるんで、今回それを使ってSendgridからメールを送信してみることにした。

How to Set Up the SendGrid Mailer in WP Mail SMTP

そしたら猛烈な文字化け。よく調べてないけど、多分ISO-2022-JPをUTF-8で無理矢理読んだ系の化け方。困ってヘッダーとか読んだんだけど、Content-Type: text/plain; charset=us-asciiとか書いてあって、「us-ascii…!?!?」と天を仰いだ。

Wordpressのメール送信系を司っておる「wp_mail()」には便利なフックがあって、

apply_filters( 'wp_mail_charset', function()
{
return 'UTF-8';
})

とかやると、文字コードを変えてくれる。
なんだけど、それやっても駄目。おそらくSendgrid上で書き換わってる。すげえ困る。

そんな時は、このページを良く読むんだ…。よく…読むんだ…。

SendGrid's WordPress Plugin | SendGrid Documentation


要は、**「Sendgridの公式Wordpressプラグインを使い給え」**ってことなんですけど、もう一点、「SMTP使いたければSwift Mailerを使え、プラグインは用意してある」というのも重要。このプラグインをダブルで有効にして、API Keyを登録すれば使える(API Keyはここから出力して。必要な権限は、「Mail Send」のみでOKなので、Full Permissionは不要)。

文字化けも見事に解消しました。


※ ちなみに、他にも文字化けの要因はあって、まだ解消しない人はこの辺りを確認してみて
※ Git使ってデプロイしてる人。Sendgridの公式プラグインは、Composerパッケージを思いっきり含んでるので、.gitignorevendorを対象にしちゃってる人は要注意ね
※ 雑な推量で文字コードとか書いてるのは、文字化けで困ってるんだけど検索ワードがよくわからなくて迷ってる子羊用なので色々察して

5
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?