概要
WP Mail SMTPでメール送信設定をしても、Gmail宛だけメールが届かない(迷惑メールにも入らない)場合、送信元メールアドレスのドメインとSPF/DKIM/DMARCが設定されているドメインの不一致が原因であることがあります。
この記事では、実際に遭遇したケースをもとに、原因の特定方法と解決策を解説します。
症状
- WP Mail SMTPのテスト送信で「送信成功」と表示される
- 独自ドメイン宛のメールは正常に届く
- Gmail宛だけ届かない(迷惑メールフォルダにも入らない)
- WP Mail SMTPのドメインチェックでSPFエラーが表示される
原因
WordPressのサイトURLがサブドメイン(例: shop.example.com)の場合、WP Mail SMTPの送信元メールアドレスのドメインもサブドメインになりやすいです。
一方、SPF/DKIM/DMARCはルートドメイン(例: example.com)にのみ設定されていることが多く、この不一致によりGmailのセキュリティチェック(SPF/DKIM認証)に失敗し、メールが完全に拒否されます。
具体例
| 項目 | 値 | 問題 |
|---|---|---|
| サイトURL | http://shop.example.com | サブドメイン |
| From Email | info@shop.example.com | ドメイン = shop.example.com |
| SPF設定先 | example.com | ルートドメイン |
| 結果 | ドメイン不一致 → 認証失敗 |
解決策
方法1: From Emailのドメインをルートドメインに合わせる(推奨)
WP Mail SMTPの「From Email」を、SPF/DKIM/DMARCが設定されているドメインに合わせます。
- 変更前:
info@shop.example.com - 変更後:
shop@example.com
これだけでGmailに届くようになります。最もシンプルな解決策です。
方法2: サブドメインにもDNSレコードを追加する
サブドメインにもSPF/DMARCのTXTレコードを追加する方法もあります。
| サブドメイン | 種別 | 内容 |
|---|---|---|
shop | TXT | v=spf1 include:_spf.lolipop.jp ~all |
_dmarc.shop | TXT | v=DMARC1; p=none; |
DKIMはサーバー側の自動対応に依存するため、サブドメインに適用されるか確認が必要です。
WP Mail SMTP設定時のチェックリスト
- From EmailのドメインとSPFレコードが設定されているドメインが一致しているか
- WP Mail SMTPのドメインチェックでSPFエラーが出ていないか
- ドメインチェックに表示されるドメイン名が意図したものか(サブドメインになっていないか)
- テスト送信はGmail宛にも行う(独自ドメイン宛だけでは不十分)
背景知識:Gmailの送信者認証
2024年2月以降、Gmailは送信者に対して以下の3つの認証を求めるようになりました。
- SPF: 送信元IPが許可されたサーバーか
- DKIM: メールが改ざんされていないか(電子署名)
- DMARC: SPF/DKIMの認証結果に基づくポリシー
いずれかが失敗すると、メールが迷惑メールに振り分けられるか、完全に拒否されます。
ロリポップサーバーの場合
- ロリポップDNS(
uns01.lolipop.jp等)利用時はSPF/DKIM/DMARCが自動対応 - ただし自動対応はルートドメインに対してのみ
- サブドメインでの運用時はFrom Emailのドメインに注意が必要
まとめ
WP Mail SMTPでGmail宛にメールが届かない場合、まず送信元メールアドレスのドメインとSPF/DKIM/DMARCが設定されているドメインが一致しているかを確認してください。
特にサブドメインでWordPressを運用している場合はこの不一致が起きやすく、From Emailのドメインをルートドメインに合わせるだけで解決するケースがほとんどです。

コメント