Contact Form 7でメールが届かないときに確認すること

WordPressの問い合わせフォーム「Contact Form 7」で、送信は完了するのにメールが届かない。原因はフォームだけとは限らず、受信側やDNS、サーバーの設定にまたがります。闇雲に設定を変えず、まず「どこまで届いているか」から順番に切り分けましょう。

この記事で分かること

  • メールが届かない原因の切り分け方
  • 自分で確認できる範囲と、触らないほうがよい範囲の線引き
  • 直らないときに相談するための準備

よくある症状

まず、どちらの症状かで原因の見当が変わります。

  • 「送信ありがとうございました」と出るのに届かない:フォーム自体は動いていて、メールの「配信」でつまずいている可能性が高い
  • 「送信に失敗しました」と赤いエラーが出る:メールの送信処理そのもので止まっている

前者のほうが多く、原因も分かりにくいパターンです。

原因候補

メールが届かない原因は、おおむね次のどれかに当てはまります。

  1. 送信元アドレスがサーバーのドメインと一致していない
    Contact Form 7の初期設定では、送信元が wordpress@あなたのドメイン になります。これがサーバーの実際の送信ドメインと食い違うと、受信側に「なりすまし」と判定され、迷惑メール行きや受信拒否になります。最も多い原因です。
  2. SPF・DKIMなどの認証設定が未整備
    ドメインの正当性を示すレコードが設定されていないと、GmailやOutlook側でスパム判定されやすくなります。
  3. WordPress標準のメール送信が不安定
    WordPressは標準だと wp_mail(PHPのmail関数)でメールを送ります。サーバーによっては、ここが届きにくい・詰まりやすい仕組みです。
  4. 送信先アドレスの設定ミス
    Contact Form 7の「メール」タブの送信先が、受け取れないアドレスや打ち間違いになっている。
  5. 届いているが迷惑メールフォルダに入っている
    送信元の問題で、迷惑メール扱いされているだけのこともあります。
  6. スパムフィルタが送信自体をブロック
    reCAPTCHAやAkismetが、正規の送信まで止めているケース。

確認手順

上から順に確認すると、無駄な設定変更を避けられます。

  1. 迷惑メールフォルダを確認する
    まず受信側の迷惑メールフォルダを見ます。ここにあれば「届いてはいる」ので、原因は送信元・認証の問題に絞れます。
  2. 送信先アドレスを確認する
    Contact Form 7の「メール」タブを開き、「送信先」が正しいアドレスかを確認します。打ち間違いや、使っていないアドレスになっていないかを見ます。
  3. 送信元アドレスを確認する
    同じ「メール」タブの「送信元」を見ます。お名前 <wordpress@ドメイン> のように、自分のサイトのドメインのアドレスになっているかを確認します。フリーメール(gmail.comなど)を送信元にしていると、受信側で「なりすまし」と判定され、届きにくくなることがあります。
Contact Form 7の「メール」タブ。送信先と送信元アドレスの設定欄を赤枠で示した管理画面
  1. テスト送信をして挙動を見る
    フォームから自分で送信し、「完了表示が出るか」「エラーが出るか」を確認します。ここまでの結果で、フォーム側の問題かメール配信側の問題かが切り分けられます。
  2. SMTP送信に切り替える(中級者向け)
    標準のメール送信が原因なら、SMTP送信プラグインを使い、メールサーバー経由で確実に送る方法があります。ここはサーバーやメールアカウントの設定知識が必要なので、不安なら触らないでください。

自分で触る前の注意点

  • 設定を変える前に、現在の設定をメモかスクリーンショットで残す。 元に戻せる状態を必ず作ってから変更します。
  • DNS(SPF・DKIM)の設定は、間違えるとメール全体が届かなくなることがあります。自信がなければ触らないでください。
  • プラグインの追加・更新は、可能ならバックアップを取ってから行います。

こうした不具合は、ふだんの点検で起きにくくできます。あわせてWebサイトで最低限やっておきたい保守チェックもご覧ください。

相談するときに用意するとよい情報

直らないとき、次の情報があると原因の特定が早くなります。

  • 対象サイトのURL
  • 症状(「完了表示は出るが届かない」/「エラーが出る」のどちらか)
  • いつから発生しているか、直前に行った変更(プラグイン更新・サーバー移転など)
  • 受信できていないメールアドレスの種類(独自ドメイン / Gmail など)
  • Contact Form 7の「メール」タブのスクリーンショット(送信先・送信元が分かるもの)

対応できるか相談する

迷惑メールにも入っていない、送信元も直したのに届かない──そうなると、サーバーのメール設定やDNSの確認が必要で、切り分けに知識がいります。

現役のWebエンジニアとして、フォーム不達の原因調査から対応しています。最初は、対象サイトのURL・症状・スクリーンショット(あれば)の3点だけで大丈夫です。その他は分かる範囲で構いません。


ほかのよくある不具合

→ このサイトで対応できることを見る