働く 2025-12-10

【WordPress×Gmail】問い合わせフォームが「実はずっと届いてなかった」事件の全貌(SPF設定の落とし穴)

こんなことが起きていませんか?

あるカフェのオーナーAさんは、WordPressで作った予約フォームを運営していました。

「予約を送信しました」という完了画面が表示され、お客様には「ご予約ありがとうございます」という自動返信メールが送られる仕組みです。

ある日、常連のお客様Bさんから電話がありました。

Bさん:「先週、予約フォームから送ったんですけど、確認メールが来なくて…。予約できてますか?」

Aさん:「え? でも予約データは届いてないですよ…?」

不思議に思ったAさんが調べてみると、衝撃の事実が判明しました。

  • Gmail ユーザーだけ、自動返信メールが届いていない
  • Yahoo!メールや独自ドメインのメールには届いている
  • WordPress 側は「送信成功」と表示している

つまり、何ヶ月も、Gmail ユーザーへの自動返信メールが届いていなかったのです。

お客様は「予約できたかどうか分からない」まま放置され、Aさんは「予約が来ない」と思い込んでいた——。

これが、WordPress × Gmail で起きる「見えない機会損失」の正体です。

今回は、この問題の原因である SPF レコード設定の落とし穴と、その解決策を、具体例をもとに徹底解説します。

1. 何が起きていたのか?(カフェAさんの事例)

発覚のきっかけ

カフェAさんは、WordPress のアップデート前に念のためフォーム送信テストを実施しました。

テスト結果:

送信先メールアドレス 自動返信メールの到着
customer@gmail.com ❌ 届かない
another-user@gmail.com ❌ 届かない
staff@yahoo.co.jp ✅ 届く
info@cafe-example.com(独自ドメイン) ✅ 届く

WordPress の管理画面:

  • エラーなし
  • 送信ログには「成功」と記録されている

Gmail の受信トレイ:

  • 自動返信メールなし
  • 迷惑メールフォルダにもなし

つまり、WordPress は「ちゃんと送った」と思っているのに、Gmail 側では「受け取っていない」という状態でした。

最も恐ろしいポイント

サーバー担当者からの連絡には、こんな一文がありました。

おそらく Gmail ユーザーは今までずっとメールを受信できていなかったと考えられます。

つまり、何ヶ月も、あるいは何年も、Gmail ユーザーへの自動返信メールが届いていなかった可能性があるということです。

三者三様の「気づかない」構造:

  • WordPress 側: 「送信成功」と表示 → 問題なし
  • カフェAさん: 特にエラーが出ていない → 問題なし
  • お客様Bさん: 「確認メールが来ない…まあいいか」→ 諦める

この三者が気づかないまま、機会損失が積み重なっていく——。これが「Gmail 問題」の本質です。

2. 原因は「SPF レコード」と「From 設定」の不整合

SPF とは何か?(郵便配達の例え)

SPF(Sender Policy Framework) とは、メール送信元を認証する仕組みです。

これを郵便配達に例えると、こんな感じです。

例: 「カフェAさん」という名前の手紙を送る場合

  • 正しいパターン: カフェAさんの店舗から、カフェAさんの名前で手紙を送る

    • 郵便局:「この手紙は本物だ」→ 配達OK
  • 怪しいパターン: 全く関係ない場所(例:レンタルオフィス)から、カフェAさんの名前で手紙を送る

    • 郵便局:「この手紙は怪しい。なりすましかも?」→ 配達拒否

SPF は、「このドメインのメールは、どのサーバーから送っていいか?」を DNS に宣言しておくことで、なりすましメールを防ぐ技術です。

SPF認証の仕組み(郵便配達の例え)

カフェAさんのサイトの設定を見てみると…

カフェAさんのサイトは cafe-example.com というドメインで運営されています。

DNS の SPF レコード:

v=spf1 a mx include:xserver.ne.jp ~all

これは「cafe-example.com からのメールは、Xserver 経由のときだけ正当なメールとして認めてください」という宣言です。

問題のフォーム設定(NG パターン)

ところが、MW WP Form のフォーム設定は、こうなっていました。

【NG設定】

From(差出人): {ユーザーが入力したメールアドレス}
  → 例: customer@gmail.com

Return-Path: 未設定(または同じく customer@gmail.com)

実際の送信サーバー: Xserver(cafe-example.com のサーバー)

なぜこれが問題なのか?

Gmail 側から見ると、こういう状況です。

Gmail の視点:

  1. 差出人(From)が customer@gmail.com になっている
  2. でも実際の送信元は、全く関係ない Xserver
  3. gmail.com の SPF レコードには、当然 Xserver は含まれていない

つまり、「gmail.com を名乗る怪しいサーバーからのメール」 という判定になります。

図解するとこんな感じ:

メール配信フローとSPF認証の不整合

これは典型的な なりすましメールと同じ構造 です。

Gmail は当然、こうしたメールを受信拒否します。最近の Gmail は SPF / DKIM / DMARC の認証を非常に厳格にチェックしているため、整合性が取れていないメールは容赦なく弾かれます。

3. なぜ「Gmail だけ届かない」という分かりにくい状態になるのか?

ここで疑問が湧きます。

「なぜ Gmail 宛ての自動返信だけ届かなくて、Yahoo!メールや独自ドメインには届くの?」

答えは、メールサーバーごとに「入店チェックの厳しさ」が違うからです。

レストランの入店チェックで例えると

Gmail(高級レストラン):

  • 入口で身分証明書を厳格にチェック
  • 「あなた、本当に予約した本人ですか? 証明書を見せてください」
  • 証明書に不備があれば即座に入店拒否

Yahoo!メールや独自ドメイン(カジュアルな店):

  • 入口チェックが緩い、または無い
  • 「まあ、大丈夫でしょう。どうぞ」
  • 多少怪しくても、とりあえず入店させてしまう

実際のメールサーバーの違い

Gmail の場合:

  • SPF / DKIM / DMARC を厳格にチェック
  • 整合性が取れていないメールは受信拒否または迷惑メール扱い
  • 特に 2024〜2025 年以降、さらに厳格化

その他のメールサーバー(独自ドメインなど):

  • SPF チェックが甘い、または未実装のサーバーも多い
  • From が多少おかしくても、とりあえず受信してしまう

この温度差が「気づきにくさ」を生む

この温度差が、「Gmail 宛ての自動返信だけ届かない」という分かりにくい状況を生み出します。

カフェAさんの視点:

  • Yahoo!メールでテストしたら届いた → 「フォームは正常に動いている」
  • 独自ドメインでテストしても届いた → 「問題なし」
  • Gmail ユーザーだけが取り残される → 誰も気づかない

開発者やサイト運営者は「他のアドレスには自動返信が届いているから、フォームは正常に動いている」と誤解してしまい、Gmail ユーザーだけが自動返信を受け取れない状態に取り残されるのです。

4. カフェAさんが陥っていた「よくある罠」

WordPress のフォームプラグイン(MW WP Form、Contact Form 7 など)では、こんな設定をしがちです。

カフェAさんの NG 設定(修正前)

MW WP Form の設定画面:

【自動返信メール設定】

件名: ご予約ありがとうございます

From: {お客様のメールアドレス}
  → 例: customer@gmail.com

To: {お客様のメールアドレス}
  → 例: customer@gmail.com

Reply-To: (未設定)

本文:
{お客様の名前} 様

ご予約ありがとうございます。
以下の内容で予約を受け付けました。
...

なぜこんな設定にしたのか?

カフェAさんは、こう考えていました。

  • 「お客様に送る自動返信メールだから、From もお客様のアドレスにしておけば自然だろう」
  • 「管理者に届く通知メールも、From がお客様のアドレスなら、誰からの予約か一目で分かる」

一見、親切な設定に見えます。しかし、これが SPF 的には完全にアウト です。

なぜ NG なのか?

  • 見かけ上の差出人(From): お客様のメールアドレス(例:customer@gmail.com)
  • 実際に送っているサーバー: カフェのレンタルサーバー(Xserver)

なりすましメールと同じ構造

結果として、Gmail 宛ての自動返信には届かず、それ以外のゆるいメールサーバーでは届いてしまう、という「一部だけ届かない」分かりにくい状態になります。

5. 解決策:カフェAさんが行った設定変更(ビフォー・アフター)

サーバー担当者から提案された対処法が、まさに正解でした。

MWForm 設定の、Return-Path と From の値を
info@cafe-example.com のように、
cafe-example.com ドメインのアドレスに設定すれば受信できるようになります。

カフェAさんの OK 設定(修正後)

MW WP Form の設定画面:

【自動返信メール設定】

件名: ご予約ありがとうございます

From: info@cafe-example.com
  ↑ サイトのドメインのメールアドレスに変更

To: {お客様のメールアドレス}
  → 例: customer@gmail.com

Reply-To: info@cafe-example.com
  ↑ お客様が返信したい場合はこちらに届く

Return-Path: info@cafe-example.com
  ↑ エラーメールの返送先(プラグインによっては設定項目あり)

本文:
{お客様の名前} 様

ご予約ありがとうございます。
以下の内容で予約を受け付けました。
...

ビフォー・アフター比較表

NG設定とOK設定の比較

項目 修正前(NG) 修正後(OK)
From customer@gmail.com info@cafe-example.com
Reply-To 未設定 info@cafe-example.com
Return-Path 未設定 info@cafe-example.com
送信サーバー Xserver Xserver
SPF 認証 ❌ 失敗(gmail.com の SPF に Xserver は含まれない) ✅ 成功(cafe-example.com の SPF に Xserver が含まれる)
Gmail への到達 ❌ 届かない ✅ 届く

この設定の効果

こうすると、以下の「両取り構成」ができます。

メール認証的には:

  • From が info@cafe-example.com
  • 送信サーバーも Xserver(cafe-example.com のサーバー)
  • SPF レコードに Xserver が含まれている
  • 「cafe-example.com からの正しいメール」として認識される

運用的には:

  • お客様がメールに返信したい場合、Reply-To に設定した info@cafe-example.com に届く
  • カフェAさんは、お客様からの返信を受け取れる
  • 運用上の利便性を維持

つまり、SPF 認証を通しつつ、運用上の利便性も確保できるのです。

設定のポイント

① From(差出人)

info@cafe-example.com など、サイトのドメインのメールアドレス

  • このアドレスが、レンタルサーバーの SPF によってきちんと認証されていることが重要
  • 独自ドメインのメールアドレスを使う

② Return-Path(エンベロープ From)

同じく info@cafe-example.com に統一

  • 多くのプラグインや SMTP プラグインが設定項目を持っている
  • From と揃えることで、SPF 認証がスムーズに通る

③ Reply-To(返信先)

info@cafe-example.com に設定

  • お客様がメールソフトで「返信」を押したとき、カフェに届く
  • 運用上の利便性を損なわない

6. SPF だけでなく DKIM / DMARC も地味に効いている

最近の Gmail は、以下の 3 つをセットでチェックしています。

  • SPF: 送信元サーバーの認証(「どのサーバーから送っているか?」)
  • DKIM: メールの改ざん防止(電子署名)
  • DMARC: SPF と DKIM の整合性チェック

特に 2024〜2025 年ごろからは、発信者(From ドメイン)と SPF/DKIM がきちんと「整合(Alignment)」しているかが非常に重要になっています。

カフェAさんの NG 設定では

  • From: customer@gmail.com(お客様のアドレス)
  • 実サーバー: Xserver(cafe-example.com のサーバー)
  • DKIM: そもそも署名できない(gmail.com の秘密鍵を持っていない)
  • SPF: gmail.com の SPF にも当然 Xserver は含まれていない

DMARC 的には完全にアウトな構成

Gmail に嫌われるのは当然とも言える状態でした。

カフェAさんの OK 設定では

  • From: info@cafe-example.com(カフェのドメイン)
  • 実サーバー: Xserver(cafe-example.com のサーバー)
  • DKIM: Xserver が cafe-example.com の DKIM 署名を付与(設定している場合)
  • SPF: cafe-example.com の SPF に Xserver が含まれている

DMARC 的にも整合が取れた構成

Gmail も安心して受信できる状態になりました。

7. 実務的なチェックリスト

この問題を防ぐために、以下のチェックリストを実施しましょう。

フォーム送信設定チェック

  • [ ] From は「サイトのドメインのメールアドレス」になっているか?
  • [ ] Reply-To に「ユーザー入力のメールアドレス」を入れているか?
  • [ ] Return-Path(あれば)もドメインメールに統一しているか?
  • [ ] Gmail 宛てに実際にテスト送信して、自動返信が届くか確認したか?

サーバー側(DNS・メール)チェック

  • [ ] ドメインに SPF レコードが正しく設定されているか?
  • [ ] SPF に、レンタルサーバーの送信サーバーが含まれているか?
  • [ ] DKIM を有効化できる環境なら有効にしているか?
  • [ ] DMARC レコードを設定している場合、From ドメインとの整合が取れているか?

全フォームの横断チェック

1 つのフォームだけでなく、全フォームの設定を横断チェックすることが大事です。

  • お問い合わせフォーム
  • 資料請求フォーム
  • 会員登録フォーム
  • その他すべてのフォーム

すべてのフォームで、From / Return-Path / Reply-To が正しく設定されているか確認しましょう。

8. まとめ:カフェAさんの事例から学ぶこと

カフェAさんのその後

設定変更後、カフェAさんは再度テスト送信を実施しました。

テスト結果(修正後):

送信先メールアドレス 自動返信メールの到着
customer@gmail.com ✅ 届く!
another-user@gmail.com ✅ 届く!
staff@yahoo.co.jp ✅ 届く
info@cafe-example.com(独自ドメイン) ✅ 届く

カフェAさん:「これで安心して WordPress をアップデートできます。Gmail ユーザーのお客様にも、ちゃんと自動返信が届くようになりました!」

今どきの Gmail は容赦なく弾く

SPF/DKIM/DMARC がちゃんとしてないメールは、Gmail は容赦なく弾きます。

「送信完了」と出ていても、実際には届いていない可能性があります。

フォームの From に「ユーザー入力メールアドレス」をそのまま使うのは NG

From / Return-Path は、必ずサイトのドメインのメールアドレスを使いましょう。

Reply-To で返信動線を確保すれば、運用上の利便性も損なわれません。

「ずっと届いてなかった」ケースもある

「WordPress をアップデートする前にテスト送信して発覚した」のはむしろラッキーです。

実際は「昔からずっと届いてなかった」ケースも多いため、全サイト・全フォームの棚卸しをした方がいいレベルの話です。

今すぐできるアクション

  1. Gmail 宛てにテスト送信して、自動返信が届くか確認する
  2. 届かなければ、From / Return-Path の設定を確認
  3. サイトのドメインメールに統一する
  4. Reply-To をサイトのドメインメールに設定
  5. 再度テスト送信して、自動返信が届くことを確認

たったこれだけで、機会損失を防ぎ、ユーザーからの信頼を守ることができます。


「問い合わせが減ったな…」「予約が来ないな…」と感じている方、もしかしたらそれは本当に減ったのではなく、自動返信が届いていないだけかもしれません。

今すぐ、Gmail 宛てにテスト送信して、自動返信が届くか確認してみてください。