株式会社まほろばの鈴木(@mahoroba148)です。
Gmailの「メール送信者ガイドライン」の変更に伴い、2024年2月以降、メール自体がブロックされたり、迷惑メールに振り分けられたりする可能性が高まりました。
参考:メール送信者のガイドライン
https://support.google.com/a/answer/81126?hl=ja&ref_topic=1354753&sjid=13636305436008623239-AP
以前よりWordPress迷惑メールに振り分けられてしまう問題はありました。
そんなときは「WP Mail SMTP」を導入しよう
と紹介されている記事は多くありますが、「WP Mail SMTP」のメリット・デメリットを理解しておかないと、フォームから問い合わせを受け取ることすらできなくなる可能性があります。
当記事では「WP Mail SMTP」でGmailをつかう場合のメリット・デメリットを解説していきます。
特にGoogle Workspaceを契約している方に向けた記事です。
WP Mail SMTPとは
WordPressでメールを送信するためのプラグインです。
指定したSMTP※サーバー経由でメールを送信することができます。
※SMTP(Simple Mail Transfer Protoco)メールを送信するための通信プロトコル
たとえばWordPressで作成したサイトで問い合わせをすると、自動返信メールが届きます。
この自動返信メールはレンタルサーバーから直接送信されてしまうため、なりすましと判断され迷惑メールフォルダに振り分けられてしまいます。
この自動返信メールを指定したSMTPサーバー経由で送ることで、メールアドレスの送信元が担保され、迷惑メールと判定されにくくなります。
WP Mail SMTPでは、さまざまな送信方法を設定できます。
▼設定できるSMTP
- Amazon SES
- Microsoft 365/Outlook
など
Google Workspaceで社員のメールアドレスを管理している企業の場合「Google」を選択することで、設定に必要な項目が表示されます。
メリット
迷惑メールと判定されづらい。
先述通り、サイトに設定しているドメインと送信する際のドメインが異なってしまうため送信元が偽装されたメールと判断されてしまいます。
すると、迷惑メールフォルダに振り分けられてしまいます。
送信したメールが迷惑メールに振り分けられてしまうと、顧客がメールを受け取ったことに気が付けません。
事業者としても顧客がメールを受け取ったか否かわからないため、すれ違いが起きてしまいます。
WP Mail SMTPを使うことで、迷惑メールに振り分けられるリスクを減らすことができます。
なお、SMTPサーバーの多くはメール送信で信頼が高いため、迷惑メールと判定されづらいのです。
デメリット
- Googleのセキュリティアップデートで再認証が必要になる場合がある
- パスワード変更など操作を行った場合トークンが切れてしまう
- トークンが失効する
- プラグイン同士の相性が悪いと不具合が起こる
1~3はGoogle特有のデメリットです。知らない間にメールの送信ができないことがあります。
ちなみに、実際に同様の相談を受け、対処方法をご案内しました。
対処方法
1~3は基本的にはトークンの再認証で解決します。
失効タイミングにはルールがありますが、常にアップデートに目を光らせているのは難しいため、定期的な送信テストを行う必要があります。
また、「SiteGuard」のようなセキュリティプラグインを入れている場合にはログイン通知(メール通知)をONにすることで判断できます。
WP Mail SMTPに何かしらの問題が起きているとログイン通知が届きません。
そのため、定期的にログインしましょう。
4は競合するプラグインを見直すしかありません。
テスト環境での検証や代替プラグインの検討も必要なため、専門家にご相談ください。
Google APIのOAuthトークンの失効
Gmailでの認証にはOAuthトークンが必要です。
先述のデメリットでも挙げた通り、トークンが切れることがあります。
このトークンの有効期限・失効について公式ドキュメントに記述がありました。
- 更新トークンの有効期限
- 更新トークンの上限数
- 公開ステータスが「テスト」の場合、有効期限は7日間
参考:Google APIのOAuthトークンの失効について
https://qiita.com/croquette0212/items/8da7ccaa09abf89d4f51
公式ドキュメント:OAuth 2.0 を使用して Google API にアクセスする
https://developers.google.com/identity/protocols/oauth2?hl=ja
更新トークンの有効期限
公式ドキュメントから抜粋すると下記の通り。
公式ドキュメント:OAuth 2.0 を使用して Google API にアクセスする
- ユーザーがアプリのアクセス権を取り消した。
- 更新トークンが 6 か月間使用されていません。
- ユーザーがパスワードを変更し、更新トークンに Gmail のスコープが含まれている。
- ユーザー アカウントで許可されている(有効な)更新トークンの最大数を超えました。
- 管理者が アプリのスコープでリクエストされたサービスのいずれかを制限付きに設定した場合(エラーは
admin_policy_enforced
)。- Google Cloud Platform API の場合 – 管理者が設定したセッション継続時間を超過している可能性があります。
https://developers.google.com/identity/protocols/oauth2?hl=ja
トークンが失効してしまう理由はいくつかあるため、さらに細かくみていきましょう。
ユーザーのパスワードやアクセス権限の変更
Gmailの権限をもったユーザーがパスワードを変更したり、アクセス権限を変更したりするとトークンが失効します。
社員の入れ替わりが多い企業は権限の扱いにご注意ください。
更新トークンの上限数
更新トークンには最大数が設けられています。
最大数を超えると警告なしで古いものから無効化されるとのこと。
現在のところ1クライアントIDにつき100個までとなっています。
現在、1 つの OAuth 2.0 クライアント ID につき、Google アカウントごとに 100 個の更新トークンという上限があります。上限に達した場合、新しい更新トークンを作成すると、警告なしで最も古い更新トークンが自動的に無効になります。この上限はサービス アカウントには適用されません。
公式ドキュメント:OAuth 2.0 を使用して Google API にアクセスする
https://developers.google.com/identity/protocols/oauth2?hl=ja
公開ステータスが「テスト」の場合、有効期限は7日間
トークン発行の際、公開ステータスを「テスト」にしていると有効期限は7日間です。
とりあえずテストで発行したトークンをそのまま使うと、7日間後に送信できない!となってしまうわけですね。
設定の際は必ず公開ステータスを「本番環境」にしましょう。
外部ユーザータイプ用に OAuth 同意画面が構成され、公開ステータスが「テスト」である Google Cloud Platform プロジェクトには、7 日後に期限切れになる更新トークンが発行されます。ただし、リクエストされた OAuth スコープが、(
公式ドキュメント:OAuth 2.0 を使用して Google API にアクセスするuserinfo.email, userinfo.profile, openid
スコープまたは OpenID Connect の同等のものを介して)名前、メールアドレス、ユーザー プロファイルのサブセットである場合を除きます。
https://developers.google.com/identity/protocols/oauth2?hl=ja
まとめ
「WP Mail SMTP」は迷惑メールと判定されづらくなる一方、導入時の検証や設定するSMTPサービスによっては継続的な管理が必要になります。
特にGmailで利用する場合はトークン失効に注意しなければなりません。
ご自身での対応が難しい場合には専門家に相談しましょう。
ホームページのお悩み相談
業者にこんな提案されたんだけどどうかな?
WordPressを今まで一度もアップデートしたことがない
ホームページ制作前のお悩み、制作後の更新方法などを相談だけでもOK!
セカンドオピニオンのようにもご利用いただけます。
\相談だけしたいなら/
\実際に作業を依頼するなら/