WP Mail SMTP ver 1.2.5でのやり方です。以前はGmailのアカウントとパスワードを入力するだけで使えていたようですが、Googleのセキュリティ強化もありクライアントIDとシークレットを登録する必要があります。ただ、それには少しGoogle側に登録が必要になるなど、少しハードルが高いので、そのやり方をスクリーンショットとともに紹介します。
Google Cloud Platformに登録
大まかな流れとしてはGoogle Cloud Platformにプロジェクトを登録し、WordPressでGmailを使わさせてください、という認証をもらうための設定を作ります。
まず、Googleアカウントにログインした上でGoogle Cloud Platformにアクセスします。右上の「コンソール」をクリックします。
利用規約について表示されるので、内容を読んだ上で同意してください。
プロジェクト選択画面になるので、新しいプロジェクトを作成します。右上の「+」ボタンをクリックします。
プロジェクト名に分かりやすい名前を入力し、「作成」ボタンを押します。
少し作成完了まで時間がかかるかもしれませんが、完了すると先ほどの画面に今作成したプロジェクト(今回はWordPress SMTP)が表示されるので、選択して「開く」をクリックします。
ダッシュボード画面が表示されます。図のように左側にメニューが出ていない場合は左上の三本線のハンバーガーボタンを押して開きます。その中から「APIとサービス」の中の「ダッシュボード」をクリックします。
上のほうにある、「APIとサービスの有効化」をクリックします。
検索窓に「gmail」と入力してGmailのAPIを検索します。
出てきたGmail APIをクリックします。
「有効にする」をクリックします。
ダッシュボード画面に戻るので左側のメニューから「認証情報」をクリックします。
「認証情報を作成」から「OAuthクライアントID」を選択します。
右側の「同意画面を設定」をクリックし、
アプリケーションの種類から「ウェブアプリケーション」を選択、名前の欄にこのサービスの名前(今回はWordPress OAuth。この名前はGoogleアカウントの「アカウントにアクセスできるアプリ」などに表示されるので分かりやすい名前の方がいいです。)を登録します。
制限事項はとりあえず空欄で大丈夫です。入力したら「作成」をクリックします。
すると、「クライアントID」と「クライアントシークレット」が発行されるので、これをコピーします。この画面は閉じずにWordPressの管理画面を別タブなどで開きます。
WP Mail SMTPにClient IDとClient Secretを入力
ここでは、認証情報を作成したので、それを基にWP Mail SMTPに設定し、WordPressで使うよ、と許可を求めます。
WordPressのダッシュボードの「設定」の中の「WP mail SMTP」をクリックし、このプラグインの設定画面を開きます。
送信元アドレスには任意のアドレス(空欄の場合はwordpress@ドメイン名になる)を、送信者名には送信者として表示される名前を入力します。
メーラーは「Gmail」を選択します。
すると、Client IDとClient Secretを入力する欄が表示されるので、先ほどのClient IDとClient Secretを入力します。
注意:半角スペースが入る場合がある
この時少し注意したいのは、コピーしたClient IDとClient Secretの頭と最後に半角スペースが入ることがあります。空白スペースが入ったままだとこの後の認証に失敗することがあるので、コピペした時に半角スペースが入っていないか確認してください。
Client IDとClient Secretを入力したら、Authorized redirect URIのURLをコピーしておきます。そこまでできたら、「Save Settings」をクリックします。
再度Google Cloud Platformに戻り、Client IDの表示を閉じ、左側の認証情報から先ほど作ったサービス(今回はWordPress OAuth)をクリックします。
さきほどサービスを登録した時のような画面が開くので、下部の「承認済みのリダイレクトURI」の欄に今さっきコピーしたAuthorized redirect URIをペーストします。そして「保存」をクリックします。
ちなみに、Client IDとClient Secretが分からなくなったら、この画面で確認ができます。
Google アカウントを認証
これでGoogle、WordPress側での設定が完了したので、最後に使いたいGmailのアカウントで認証します。
WP mail SMTPの設定画面に戻り、下部の「Allow plugin to send emails using your Google account」をクリックします。
Googleアカウントを選択する画面が出るのでGmailを使いたいアカウント選択します。
すると、上のような警告画面が出るかもしれません。即席で作ったアプリなので確認は取れていませんが、作ったのが本人なので大丈夫です。今回は「詳細」をクリックして「(安全ではないページ)に移動」をクリックします。
ログインしたアカウントで「ユーザー本人に代わってメールを送信」する権限の許可を求められるので「許可」をクリックします。
これにて一連の設定は完了です。
許可したら、Email Testで適当なメールアドレスを入力し、きちんと送られてくるか確認してみましょう。設定が正しければ、さきほど登録した送信者と送信者名からテストメールが送られてきます。
これでWordPressでGmailが使えるようになります。
エラーが出たよ
テストメール時にエラーが出た
権限がうまく与えられていない可能性があります。また、Googleアカウントが○○@gmail.comではないアドレスで作成し、Gmailを持っていない場合などエラーがでました。
認証画面が上手く出ない
Client IDなどが間違っている、あるいは半角スペースが入っていると認証画面が出ません。
余談 Gmail APIについて
余談にはなりますが、今回Google Cloud Platformでプロジェクトを作ったアカウントとGmailを使うアカウントは同一でなくても可能です。
また、APIには1日あたりの使用量上限がありますが、普通に使っている分には問題ない量です。以下にその上限を示します。
- 1日あたり10億クエリ(WordPressでの使用の場合は、1通1クエリ?)
- 100秒・1ユーザーあたり25,000クエリ
- 100秒あたり20万クエリ
大量のメールをWordPressから送信しない限り平気でしょう。