Contact Form 7で「送信完了」と表示されたのに、管理者にも送信者にもメールが届かない!?
そんな時は、フォームを作り直す前に「送信先の設定」「サイトからの送信」「受信側」の3か所へ分けて確認します。送信完了は、受信箱まで届いたという意味ではありません。ここ、地味に分かりにくいところです。設定を増やすほど原因を追いにくくなるので、今の状態をメモしながら一つずつ切り分けていきます!
この記事でわかること
この記事では、設定変更を最小限にしながらメールが止まっている場所を探します。
- 「送信完了」とメール到着の違い
- Contact Form 7のメール設定で最初に見る場所
- 迷惑メールとメールサーバー側の確認順
- SMTP設定を追加する前に確認したいこと
- 自分で確認できる範囲と、相談したほうがよい条件
「送信完了」でも受信できているとは限らない
緑色の送信完了メッセージは、サイト側のメール送信処理が正常に完了したことを示します。その先のメール配送や受信箱への到着までは保証していません。
フォーム送信から受信までを、ざっくり分けると次の流れです。
- Contact Form 7が入力内容を受け取る
- WordPressがメール送信処理を呼び出す
- サーバーがメールを外部へ配送する
- 受信側のメールサーバーが受け取る
- 迷惑メール判定を通って受信箱へ入る
送信完了まで進んでいるなら、少なくともフォーム画面上では送信処理が失敗していません。確認の中心は、メール設定と3番以降の配送です。反対に、赤色やオレンジ色のエラーが出ている場合は話が変わります。赤色はメール送信処理の失敗、オレンジ色は迷惑送信として判定された可能性があるため、この記事の「送信完了なのに届かない」とは分けて考えます。
最初にContact Form 7のメール設定を確認する
最初に見るのは、対象フォームの「メール」タブです。送信先・送信元・返信先の役割を混ぜないことがポイントになります。
1. 送信先(To)に実在するアドレスが入っているか
WordPress管理画面の「お問い合わせ」から対象フォームを開き、「メール」タブの送信先を確認します。
- 入力ミスや余計な空白がないか
- すでに使っていないアドレスではないか
- メールタグを使っている場合、対応する入力項目があるか
- 複数の宛先を指定している場合、書式が崩れていないか
まずは設定されている送信先をメモしてください。この段階で、関係のない項目まで直す必要はありません。
2. 送信元(From)がサイトと同じドメインか
送信元には、サイトと同じドメインのメールアドレスを使います。たとえばサイトが example.com なら、wordpress@example.com や info@example.com のようなアドレスです。フォームへ入力されたお客さんのメールアドレスを、そのまま送信元へ入れるのは避けます。サイトのサーバーから送っているのに別ドメインを名乗る形になり、なりすましメールとして扱われやすくなるためです。
お客さんへ返信しやすくしたい場合は、送信元ではなく追加ヘッダーの Reply-To にフォームのメールタグを指定します。
Reply-To: [your-email]
[your-email] の部分は、実際のフォームで使っているメール項目名と合わせます。項目名が違う状態でそのままコピーすると機能しないので、そこだけは確認が必要です。
3. 設定エラーが表示されていないか
Contact Form 7は、フォーム保存時に設定内容の書式を検証します。メールタブに警告が出ている場合は、その項目を先に確認します。
ただし、警告がなければメール配送も正常、とは限りません。この検証は設定の書式を確認するもので、実際に受信箱までテストメールを届ける機能ではないからです。
受信側と配送経路を切り分ける
メール設定に大きな問題がなければ、次は「どこまで届いているか」を確認します。別の宛先で試すと、サイト側と受信側を分けやすくなります。
迷惑メールと受信ルールを確認する
受信箱だけでなく、迷惑メール、隔離メール、ゴミ箱を確認します。会社のメールでは、管理者側のフィルターで隔離され、利用者の迷惑メールフォルダにも出てこない場合があります。件名、送信元アドレス、送信時刻が分かると探しやすくなります。フォームから何度も連続送信するより、時刻を記録して1回ずつ追うほうが確実です。
別ドメインのアドレスへテスト送信する
可能であれば、現在の送信先とは別ドメインの確認用アドレスへ一時的に送ります。
- 一方だけ届く:受信側のフィルターやドメイン設定を確認
- どちらにも届かない:サイト側の配送設定やサーバーを確認
- 管理者宛ては届くが自動返信だけ届かない:メール(2)の送信先・送信元を確認
テスト後は送信先を元に戻し、変更した項目をメモに残しておきます。
メールサーバーの配送ログを確認する
送信完了なのにどの宛先にも届かない場合、次に欲しいのはメールサーバーの配送記録です。ログが見られれば、送信されたか、相手側で拒否されたか、途中でエラーになったかを切り分けられます。レンタルサーバーによって確認画面や保存期間が違います。管理画面に配送ログがない場合は、送信時刻、宛先、送信元、対象ドメインを添えてサーバー会社へ確認するのが早いです。
SMTP設定は最初の一手にしない
SMTPは有効な選択肢ですが、原因を確認せずに追加すると設定箇所が増えます。まず現在のメール設定と配送状況を確認し、サイト標準の送信方法では安定しないと分かってから検討します。
SMTPは、認証情報を使って指定したメールサーバーから送信する方法です。導入する場合は、少なくとも次の項目を先に整理します。
- どのメールサービスから送るか
- 送信元として使えるアドレス
- SPFやDKIMなど、ドメイン側の認証設定
- 認証情報を誰が管理するか
- 設定変更前へ戻す方法
「届かないから、とりあえずSMTPプラグインを追加する」だけでは、送信元やDNSの問題が残ることがあります。すでに複数のメール系プラグインが入っているなら、追加する前に現在の構成を確認したほうが安全です。
自分で確認できる範囲と、変更を止める条件
管理画面で設定値を確認し、テスト送信の結果を記録するところまでは進めやすい範囲です。サーバーやDNSへ入る作業は、元へ戻せるかを基準に判断します。
自分で確認しやすいのは、次の内容です。
- 送信先、送信元、Reply-Toの確認
- 設定エラーの有無
- 迷惑メールフォルダの確認
- 別アドレスへのテスト送信
- 発生日時と直前の変更の記録
一方、次の状態なら変更を重ねず、サーバー会社や管理者、修正担当へ相談するほうが確実です。
- 配送ログを確認できない
- DNSやSPF、DKIMの管理者が分からない
- SMTPの認証情報や送信元を管理できない
- 複数のメール設定があり、どれが使われているか分からない
- フォームだけでなく、WordPressからの通知メールも届かない
相談時は、対象フォームのURL、送信時刻、宛先、画面に出たメッセージ、試した内容を共有すると切り分けやすくなります。最初の問い合わせへパスワードを書く必要はありません。
おわりに
Contact Form 7で送信完了と出るのにメールが届かない時は、送信先・送信元・受信側・配送ログの順に確認すると、余計な変更を増やさずに原因へ近づけます。
管理画面の確認とテスト送信までは自分で進めやすい範囲です。配送ログが見られない、DNSやSMTPまで関係している、フォーム以外の通知も止まっている場合は、状況整理からお力になれると思うのでお気軽にご相談ください。