WordPress : OAuth 2.0になってから設定がトリッキーになった~Gmail送信が7日後に止まる原因と対策~

SynologyやWordPress通知をGmailに集約する場合の注意

何時の頃か,Synology NASのログ通知などgmailが来なくなっていました.SMTPプラグインを調べた結果,送信エラーが出ていました.調査してみるとどうやらgmailの仕様に変更があったようです.
設定に手間取っていたことから他のメール送信も考えたみましたが,やはり管理が大変なのでgmailの設定を完了させることにしました..

今回の問題とは別に、Synology NASの管理ログやWordPress通知をGmailで大量に送る場合、Gmail側の送信制限や不審送信判定に注意が必要です。

Gmail API連携が安定しても、通知数が多い場合は次のような代替構成も検討できます。

・Synology MailPlus Serverを通知集約に使う
・MailPlusから外部SMTPリレーへ送る
・Amazon SES、SMTP2GO、Brevo、SendGridなどを使う
・独自ドメインメールのSMTPを使う

Gmailは便利ですが、システム通知を大量に送るための専用SMTPサービスではありません。


まとめ

WordPressのGmail送信が7日後に止まる場合、原因はSMTPプラグインそのものではなく、Google Cloud OAuthアプリのTesting状態とrefresh token失効にある可能性があります。

対策は以下です。

1. Google Cloudで公開ステータスを本番環境にする
2. Client IDが正しいプロジェクトのものか確認する
3. FluentSMTPなどの既存Gmail接続を削除する
4. Gmail / Google Workspace接続を作り直す
5. Authenticate with Google & Get Access Tokenを実行する
6. 未確認アプリ警告が出たら、自分のアプリであることを確認して続行する
7. メールテストを行う
8. 8日目以降も送信できるか確認する

今回、再接続後にsend mailは成功しました。
今後は7日後、8日後以降も継続して送信できるかを観察します。


補足:FluentSMTPにはAccess Token入力欄があった

今回確認した範囲では、FluentSMTPのGmail / Google Workspace設定画面には、Access Tokenを扱う入力欄が表示されていました。

一方で、他のSMTPプラグインである WP Mail SMTPPost SMTP では、同じように明示的なAccess Token入力欄は確認できませんでした。

この違いは、各プラグインの設計思想(内部処理/確認画面処理)の違いと考えられます。

FluentSMTP:
Client ID / Client Secret に加えて、Access Token取得・保持の状態が画面上で入力できる.

WP Mail SMTP:
Google認証をプラグイン内部で処理し、ユーザーがAccess Tokenを直接入力・確認する画面は基本的に出ない.

Post SMTP:
Setup WizardやOAuth認証フローで処理され、Access Tokenを直接入力する形式ではない.

ただし、ここで重要なのは、Access Token入力欄があるかどうかと、7日失効問題の本質は別という点です。

7日後にGmail送信が止まる原因として問題になるのは、多くの場合、短期的なAccess Tokenではなく、Access Tokenを再発行するためのRefresh Tokenです。

つまり、FluentSMTPにAccess Token欄が見える場合でも、最終的に重要なのは次の流れです。

Google Cloudを本番環境にする(Cloudサイトで設定する)
↓
FluentSMTPの古い接続を削除する(再度設定しなおす)
↓
Google認証をやり直す(再設定の手続きで出てくる)
↓
新しいAccess Token / Refresh Tokenを取得する(再設定のて続くで処理される)
↓
送信テストを行う(自分で実施)

今回の検証では、FluentSMTPで既存接続を削除し、Google Cloudの本番環境プロジェクトのClient ID / Client Secretを使って再認証した結果、Access Tokenを取得でき、send mailにも成功しました。


【根拠】

FluentSMTPでは、Gmail / Google Workspace接続時に Authenticate with Google & Get Access Token を実行する手順があり、画面上でもAccess Tokenの取得・設定が意識されやすい構成になっています。
一方、WP Mail SMTPやPost SMTPでは、Google認証フローの中でOAuth tokenを内部保存する設計が中心で、ユーザーがAccess Tokenを直接入力する形式ではない場合があります。

【注意点・例外】

プラグインの画面構成はバージョンによって変わる可能性があります。
回確認した環境では、FluentSMTPにはAccess Tokenを扱う欄が表示されていた。一方、WP Mail SMTPやPost SMTPでは、同様のAccess Token入力欄は確認できなかった。

人気順

コメント

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA