ザリガニデザインオフィス

【OAuth認証】WP Mail SMTPでGmailを設定する方法

目次

  1. Google Cloud Platformに登録
  2. WP Mail SMTPにClient IDとClient Secretを入力
  3. Google アカウントを認証
  4. エラーが出たよ

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」をクリックし、このプラグインの設定画面を開きます。

送信元アドレスには任意のアドレス(空欄の場合は[email protected]ドメイン名になる)を、送信者名には送信者として表示される名前を入力します。

メーラーは「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から送信しない限り平気でしょう。