こんなことが起きていませんか?
あるカフェのオーナー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 に宣言しておくことで、なりすましメールを防ぐ技術です。

カフェ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 の視点:
- 差出人(From)が
customer@gmail.comになっている - でも実際の送信元は、全く関係ない Xserver
gmail.comの SPF レコードには、当然 Xserver は含まれていない
つまり、「gmail.com を名乗る怪しいサーバーからのメール」 という判定になります。
図解するとこんな感じ:

これは典型的な なりすましメールと同じ構造 です。
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) |
|---|---|---|
| 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 をアップデートする前にテスト送信して発覚した」のはむしろラッキーです。
実際は「昔からずっと届いてなかった」ケースも多いため、全サイト・全フォームの棚卸しをした方がいいレベルの話です。
今すぐできるアクション
- Gmail 宛てにテスト送信して、自動返信が届くか確認する
- 届かなければ、From / Return-Path の設定を確認
- サイトのドメインメールに統一する
- Reply-To をサイトのドメインメールに設定
- 再度テスト送信して、自動返信が届くことを確認
たったこれだけで、機会損失を防ぎ、ユーザーからの信頼を守ることができます。
「問い合わせが減ったな…」「予約が来ないな…」と感じている方、もしかしたらそれは本当に減ったのではなく、自動返信が届いていないだけかもしれません。
今すぐ、Gmail 宛てにテスト送信して、自動返信が届くか確認してみてください。