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 SMTP や Post 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入力欄は確認できなかった。
コメントを残す