問い合わせフォームから送信できないという連絡が入るのは、たいてい最悪のタイミングです。募集を開始した直後、公募の締切前、イベントの申し込みが始まった日。窓口を担当している人からすると、直し方を調べる前に「いま何件取りこぼしているのか」が気になります。
Contact Form 7で送信できない症状は、ひとつの原因から来ているわけではありません。同じ「送れません」という報告の中に、メール送信の関数が失敗しているケース、スパムと判定されているケース、送信自体は成功していて後でメールが消えているケース、そもそもブラウザからサーバーへ要求が届いていないケースが混ざっています。原因の種類が違えば、直す場所も、直すのにかかる時間も変わります。
この記事では、画面に出る枠の色で症状を4つに分け、それぞれで確かめる場所と順番を整理します。そのうえで、原因が見つからないときの進め方と、直したあとに残りがちな受付そのものの問題まで書きます。先に結論を書くと、色を見ないまま設定をいじり始めるのがいちばん時間を失う方法です。
「送信できない」の相談が増えている背景と、いま起きていること
Contact Form 7は、WordPressの公式プラグインディレクトリで有効インストール数が1,000万件を超えています。問い合わせフォームを自社サイトに置く方法として、事実上の標準に近い位置にあります。それだけ使われている道具なので、検索すると解決策が山のように出てきます。逆に言えば、自分の症状とは関係のない対処法まで大量に読むことになります。
2026年9月時点の最新版はバージョン6.1.7で、動作に必要な条件としてWordPress 6.7以上、PHP 7.4以上が示されています。ここが最初の分かれ目になります。長く動いていたサイトで急に送信できなくなった場合、サーバー会社がPHPのバージョンを上げた直後だったり、プラグインだけが自動更新されて本体が古いままだったりすることが珍しくありません。何も触っていないのに壊れたという報告の一定数は、実際には触っていないことが原因です。
もうひとつの背景として、迷惑送信の増加があります。フォームを公開しておくと、内容のない送信が毎日届くようになります。これに対処するため、スパム判定の仕組みや画像認証の仕組みを追加する現場が増えました。追加した仕組みが誤って正規の送信を止めると、利用者側からは「送信できない」としか見えません。対策を入れたこと自体を忘れていると、原因のいちばん近くにあるものが最後まで疑われないまま残ります。
窓口を担当している人にとって重要なのは、いま届いていない件数が分からないことです。フォームの送信がメールだけで完結している作りだと、失敗した送信はどこにも残りません。何件落としたのかを後から数える手段がないので、復旧したあとも「たぶん全部届いている」という状態から抜け出せません。この点は直し方とは別に、あとで作りを見直す必要がある部分です。
画面に出る枠の色で、4つに分ける
Contact Form 7は送信のあとに、色の付いた枠でメッセージを出します。この色が、どこまで進んでどこで止まったのかを示しています。問い合わせ主に「送信を押したあと、どんな色の枠でどんな文が出たか」を聞くだけで、調べる範囲が4分の1に絞れます。スクリーンショットをもらえるなら、それがいちばん確実です。
赤い枠は、入力内容の検査は通ったものの、メールを送る処理そのものが失敗した状態です。オレンジの枠は、送信内容がスパムだと判定されて止められた状態です。緑の枠は送信の処理が最後まで成功した状態で、それでもメールが届かないなら原因はWordPressの外側にあります。枠が何も出ず、読み込み中を示す印だけが回り続ける、あるいは押しても何も起きないという症状は、ブラウザからサーバーへの通信が成立していないことを示します。
ここで大事なのは、緑の枠と赤い枠の意味を逆に受け取らないことです。緑が出たのにメールが来ないという相談は、フォームの設定を疑って延々と直しても解決しません。逆に赤い枠が出ているのに「迷惑メールフォルダを見てください」と案内しても、そこには何も入っていません。
もう1点、注意したいことがあります。フォームを設置したページで、テーマやブロックエディタが余分な要素を出していると、色の出方がおかしくなります。枠の色が説明どおりに出ない、メッセージが表示されずにページが遷移してしまうという場合は、設置そのものを先に疑ってください。
不要な
赤い枠が出るとき:メール送信そのものが失敗している
赤い枠は、WordPressのメール送信関数を呼び出したが失敗した、という意味です。公式のFAQでも、この色はメール送信の試行が失敗したことを示すと説明されており、まず失敗の原因を突き止める必要があるとされています。原因として挙げられているのは、メールの設定が正しくない場合、そしてメールサーバーが停止している、接続できない、その他の不具合を起こしている場合です。
設定側から見ていきます。管理画面のフォーム編集にある「メール」タブで、送信元、送信先、件名、メッセージ本文の4か所を順に確かめます。よく起きるのは、送信元のアドレスをサイトとは関係のないドメインにしているケースです。公式の案内では、送信元にはサイトと同じドメインのメールアドレスを指定するよう勧められています。無関係なドメインを名乗ると、受け取る側から見て偽装メールと区別がつかなくなり、一部のサーバーは送信自体を拒否します。
あわせて、wordpress@サイトのドメインという実在するアドレスを用意しておくことも公式に勧められています。バージョン4.0以降の既定のテンプレートがこのアドレスを送信元に使うため、存在しないアドレスからの送信をブロックするサーバーでは、既定の設定のままだと送れません。この1点だけで直る事例はかなりあります。
もうひとつ見落としやすいのが、本文が空になる作りです。必須にしていない入力欄の値だけで本文を組み立てていると、その欄が空のときにメール本文が空になります。公式の案内では、本文が空になったり極端に短くなったりしないよう気をつけるべきとされ、一部のサーバーではメール送信の関数が正常に動かない原因になるとも書かれています。
設定を直しても赤い枠が出るなら、サーバー側の問題として扱います。レンタルサーバーの管理画面でメール送信の制限がかかっていないか、送信数の上限に達していないかを確かめます。ここから先は自力での解決が難しくなるため、ホスティングのサポートにエラーログの確認を依頼するのが早いです。別のメール送信経路を使うことで回避できる場合もあります。外部のメール配信サービスを経由させる方法は、この回避策に当たります。
オレンジの枠が出るとき:スパムとして止められている
オレンジの枠は、送信された内容がスパムだと判定されて止まった状態です。判定をしているのは、迷惑投稿の判定サービスを連携させている場合はそのサービス、連携していない場合はWordPress本体のコメント禁止リストや、プラグイン側の簡易な検査です。
現場で困るのは、正規の送信が誤って止められる場合です。判定の仕組みは内容と送信元を見て点数を付けるので、短い本文、URLが複数入った本文、海外からの送信、社内の共有回線からの連続送信は、どれも点が悪くなります。採用の応募で「よろしくお願いします」の1行だけを本文に書いて送ると止まることがあるのは、これが理由です。
対処の順番は3つです。1つ目に、いつからオレンジの枠が出るようになったかを確かめて、その時期に入れた仕組みを疑います。2つ目に、判定サービス側の管理画面で、その送信が実際にスパムとして記録されているかを見ます。記録が無ければ、判定しているのは別の仕組みです。3つ目に、WordPressの設定にあるコメントの禁止ワードを確認します。ここに登録した語が本文に入っているだけで止まるので、社名や地名を登録したまま忘れていると、正規の送信が恒久的に止まります。
画像認証を入れている場合は、そこも疑います。認証の仕組みを追加すると、認証の点数が低い送信を無言で落とす設定になっていることがあります。無料で使える枠には上限があり、上限を超えた月は認証が常に失敗する状態になります。公開されている説明では、サイトキーがいずれかのドメインで月100万回を超えて呼び出されると無料枠の超過とみなされ、超過した月の残りは検証が失敗し続ける可能性があるとされています。上限に近づくと事前に通知が届く仕組みになっているので、担当者のメールに気づかない通知が溜まっていないかを見てください。
緑の枠が出るのにメールが来ないとき
いちばん判断を誤りやすいのがこの症状です。公式のFAQでは、緑の枠が表示されたということはメール送信の関数が成功して完了したことを示すと明記されています。そのうえで、受け取れないのであれば、そのメールはその後で消えたか奪われた可能性が高いとされ、スパムフィルターがこの種の問題の原因になることもよくあると説明されています。
つまり、フォームの設定を何度見直しても直りません。見るべき場所はWordPressの外側です。順番はこうなります。まず受信側の迷惑メールフォルダとごみ箱を見ます。次に、会社のメールに迷惑メール判定の仕組みが入っている場合は、その管理画面で隔離されていないかを確かめます。担当者の受信箱ではなく、組織のゲートウェイで止まっていることが珍しくありません。
次に、送信ドメイン認証を確かめます。送信元をサイトと同じドメインにしていても、そのドメインにSPFやDKIMの設定が無ければ、受け取る側は偽装かどうかを判断できません。公式の案内でも、偽装の可能性がある限り正規のメールが偽装メールと混同されるリスクは残るとして、これらの技術の利用が勧められています。設定の詳細は使っているメール事業者によって違うので、事業者のサポートに確かめるのが確実です。
3つ目に、返信先の設計を見ます。送信元をサイトのドメインにすると、届いたメールにそのまま返信したときの宛先もサイトのドメインになります。問い合わせ主に返信が届かなくなるので、追加ヘッダーで返信先を問い合わせ主のアドレスに指定します。管理画面のメールおよびメール(2)のセクションにある追加ヘッダーの欄で指定できます。
フォーム側からは送信できているのに、実際にはメールが届かないという場合、いくつかの原因が考えられます。以下の記事などを参考に対応を試みてください。 Contact Form 7でメールが届かない問題の3大原因と対処法 出典: wpmake.jp
なお、この症状のときに「届いていない件数」を数える手段がないのが最大の痛点です。送信の記録をデータベースに残していない場合、緑の枠が出た送信のうち何件が消えたのかは誰にも分かりません。復旧後に「先週お送りした方はもう一度お送りください」と告知を出すことになり、そこでさらに何割かが離れます。
何も起きない、印が回り続けるときの切り分け
押しても反応がない、読み込み中の印が回り続けて止まらないという症状は、ブラウザからサーバーへの通信が成立していないことを示します。送信の検査にもメール送信にも到達していないので、メール設定を見ても意味がありません。
最初に見るのはブラウザの開発者ツールです。コンソールにJavaScriptのエラーが出ていないか、通信の記録に送信の要求が出ていて応答が何だったかを見ます。応答が403や404なら、サーバー側のセキュリティ設定や書き換え規則が要求を弾いています。500なら、PHPの側で処理が落ちています。応答が返っていないなら、要求自体が出ていません。
要求が出ていない場合の原因は、JavaScriptが読み込まれていないことが多いです。テーマやプラグインが出したJavaScriptのエラーで処理が止まっていると、それ以降の処理がすべて動きません。必要なときだけ読み込む設定にしていて、フォームを置いたページが対象外になっている場合もあります。
403や404が返る場合は、サーバー側のセキュリティ機能を疑います。レンタルサーバーの不正アクセス防止機能や、セキュリティ系プラグインが、送信の要求を攻撃と誤認して弾いていることがあります。特定の語を含む送信だけ弾かれる場合は、この種の機能が原因である可能性が高くなります。
切り分けの王道は、プラグインをすべて停止してテーマを既定のものに戻すことです。時間はかかりますが、原因を確実に絞れます。
フォーム送信ができないよくある原因のひとつに、複数のプラグインやテーマ間で衝突して問題が起こる問題があります。状況を把握するため、Contact Form 7以外のプラグインをすべて停止し、テーマをデフォルトテーマに戻してみることをおすすめします。 出典: wpmake.jp
本番のサイトで全部止めるのが難しい場合は、複製した検証用の環境で行います。レンタルサーバーに複製の機能があれば、それを使うのが手早い方法です。本番で止めるしかない場合は、アクセスの少ない時間帯を選び、止めた順番と時刻を記録しながら進めます。記録を残さないまま進めると、どこまで戻したのか分からなくなって復旧に失敗します。
止める順番にもコツがあります。関係の近いものから止めるのではなく、半分ずつ止めるほうが速く終わります。プラグインが20個あるなら、まず10個を止めて症状が消えるかを見ます。消えたなら止めた10個の中に原因があり、消えないなら残した10個の中にあります。これを繰り返せば、20個でも5回ほどの操作で原因に届きます。1つずつ止めていく方法だと、悪い場合に20回の操作と20回の送信テストが必要になります。復旧を急ぐ場面では、この差が大きく効きます。
原因が分からないときの進め方と、やってはいけないこと
ここまでの手順で見つからない場合、進め方を変えます。推測で設定を変えるのをやめて、記録を集める側に回ってください。
集めるのは4つです。1つ目は、症状が出始めた日時。2つ目は、その前後に何をしたか。プラグインの更新、テーマの更新、PHPのバージョン変更、DNSの変更、メール事業者の変更のどれかに当たることが多いです。3つ目は、再現する条件。全員で起きるのか、特定のブラウザだけか、特定の入力内容のときだけか。4つ目は、サーバーのエラーログとメールのログ。ログの取り方が分からない場合は、ホスティングのサポートに「この時刻の送信について、メールログとエラーログを確認してほしい」と時刻を添えて依頼します。
やってはいけないことも書いておきます。ひとつ目は、フォームを作り直すことです。新しく作ると症状が変わって、切り分けの手がかりが消えます。ふたつ目は、複数の対処を同時に行うことです。どれが効いたのか分からなくなり、次に同じ症状が出たときにまた一から調べることになります。みっつ目は、復旧を確認せずに「直りました」と告知することです。自分の環境では送れても、利用者の環境では送れていないという食い違いはよく起きます。
失敗の報告を受けたら、確認は必ず外側から行います。社内の回線ではなく、携帯回線から、別のブラウザで、実際に使われる入力内容に近い本文で送ってみてください。社内からの送信だけを試して直ったと判断した結果、数日分の応募を落としていたという話は、窓口の担当者からしばしば出てきます。
そして、復旧後の案内文を先に用意しておくことをおすすめします。いつからいつまでの送信が届いていない可能性があるのか、その期間に送った人はどうすればよいのかを、告知の文面として決めておきます。障害の最中に文面を考えると、期間の書き方が曖昧になって問い合わせが増えます。
外部のメール配信を経由させる方法と、その注意点
赤い枠のエラーが設定の見直しでも消えない場合、外部のメール配信サービスを経由させる方法が現実的な選択になります。WordPressの標準のメール送信はサーバーのメール機能に頼るので、そのサーバーが送信を制限していたり、受け取る側から信用されていなかったりすると、設定をいくら整えても届きません。経由させる方式に変えると、配信の実績があるサービスの経路でメールが出るため、到達しやすくなります。
方式は2つに分かれます。ひとつは、専用のプラグインを入れて送信の経路だけを差し替える方式です。管理画面で送信サーバーの情報を入れるだけなので、フォームの設定を触らずに済みます。もうひとつは、配信サービスのAPIで送る方式です。送信の結果が管理画面で追えるようになり、届かなかった理由も記録に残ります。届かない件を数えたいなら、後者のほうが情報が多く残ります。
注意したい点が3つあります。1つ目は、料金の増え方です。無料枠のあるサービスが多いものの、上限は月あたりの通数で決まっています。問い合わせの通知だけなら無料枠で収まることが多く、自動返信や控えの送信まで含めると通数が2倍から3倍になります。見積もるときは、1件の送信で何通出るのかを数えてください。
2つ目は、送信元のアドレスを配信サービス側で認証する作業が必要になることです。ドメインの所有を示す記録を追加する手間がかかるため、DNSを触れる人が社内にいるかを先に確かめておきます。ここが止まると、導入が数日から数週間かかります。3つ目は、送信の経路が増えると障害の切り分けが1段深くなることです。届かないときに、フォーム、WordPress、配信サービス、受信側の4か所を見ることになります。切り替えたこと自体を記録に残しておかないと、次の担当者が原因を追えません。
送信の失敗に早く気づくための仕掛け
障害の被害は、気づくまでの時間で決まります。利用者からの報告で初めて気づく運用だと、報告してくれる人が現れるまでの期間はまるごと取りこぼしになります。窓口の担当者からしばしば出るのは、1週間気づかなかったという話です。この期間を短くする仕掛けを、直したあとに入れておく価値は大きいです。
いちばん手軽な方法は、定期的に自分で送ってみることです。週に1度、実際のフォームから本番の内容に近いものを送り、届くかどうかを見ます。手作業ですが、費用はかかりません。曜日と時刻を決めて予定表に入れておくだけで、気づくまでの期間は最長でも7日間に縮まります。
次の段階は、外形からの監視です。フォームのあるページが正常に表示されているかを定期的に確かめるサービスを使えば、ページ自体が落ちた場合には数分で気づけます。ただし、ページが表示されていてもメールが出ていないという状態は、この方法では検出できません。表示の監視と、送信の確認は別の話です。
もっと確実なのは、送信された内容をフォーム側に記録する作りにすることです。メールとは別の場所に記録が残るので、メールが消えても件数と内容が分かります。届いた件数と対応済みの件数を突き合わせれば、取りこぼしがあるかどうかを毎日見られます。方法としては、送信内容を保存するプラグインを追加する道と、記録が最初から残る受付の道具に切り替える道があります。前者はいまの作りを変えずに済み、後者は担当と状況まで一緒に残ります。
いずれの方法でも、決めておきたいのは「誰が見るか」です。仕掛けを入れても、通知の宛先が退職した人のアドレスのままだったり、誰の担当でもない共有の受信箱に溜まっているだけだったりする例は多くあります。仕掛けを入れる日に、見る人と見る頻度を決めてください。
直したあとに残る問題:受付の作りを見直す判断
送信できない症状を直しても、同じことは起きます。プラグインは更新されますし、サーバーのPHPも上がりますし、メールの判定はさらに厳しくなっていきます。そこで、直したあとに1度だけ考えておきたいことがあります。届いた内容がメールだけに残る作りを、そのまま続けるかどうかです。
メールだけで受ける作りには、3つの弱点があります。1つ目は、失敗が記録されないこと。送信が消えても誰も気づきません。2つ目は、担当と状況が残らないこと。誰が対応中で、どこまで進んだかが受信箱の中にしか無いので、二重返信と返し忘れが必ず起きます。3つ目は、担当者が休むと止まることです。受信箱は個人のものなので、引き継ぎができません。
判断の材料として、いま使っている道具と、受け付けたあとを管理できる道具の違いを並べた比較のページがあります。プラグインとして自サイトに置く形のままでよい場合と、そうでない場合の分かれ目を整理してあります。詳しくはContact Form 7との比較で確かめてください。無料のフォーム作成ツールと比べたときの違いはGoogleフォームとの比較にまとめています。
受付の種類ごとに何が必要になるかも、判断を分けます。問い合わせの受付は返信の速さと取りこぼしの無さが要で、どこまで返したかが表に残るかが効きます。整理したものが問い合わせの受付にあります。採用の応募は添付書類と選考の段階が増えるので、必要な列が変わります。こちらは採用の応募受付にまとめています。
送信されたあとに何ができる状態が望ましいのかは、機能の一覧を見ると具体的に決めやすくなります。担当を割り当てる、状況を変える、同じ画面から返信する、という送信されたあとの道具がそろっている状態がどういうものかはできることに並んでいます。費用の考え方を先に知りたい場合は料金を、運用上の細かい疑問はよくある質問を見てください。
最後に、ポイントを1つだけ挙げます。送信できない障害の被害の大きさは、復旧までの時間ではなく、何件落としたかを言えるかどうかで決まります。落とした件数が言えれば、その人たちに個別に声をかけられます。言えなければ、全体に告知して待つしかありません。この差は、道具を選ぶときに決まっています。
Q1. 赤い枠のエラーと緑の枠なのに届かない症状は、どちらが直しやすいですか?
赤い枠のほうが直しやすいです。メール送信の関数が失敗している状態なので、送信元のアドレスをサイトと同じドメインに直す、本文が空にならないようにする、サーバー側の送信制限を確かめるという順番で当たれます。緑の枠なのに届かない場合は、原因がWordPressの外側にあるため、受信側の迷惑メール判定と送信ドメイン認証の確認が必要になります。
Q2. プラグインを全部止めて切り分けるのは、本番のサイトでやっても大丈夫ですか?
本番で行うのは最後の手段にしてください。複製した検証環境があればそちらで行うのが安全です。本番で止めるしかない場合は、アクセスの少ない時間帯を選び、止めた順番と時刻を書き留めながら1つずつ進めます。記録を残さずに進めると、どこまで戻したのか分からなくなって復旧そのものに失敗します。
Q3. 画像認証を入れたら送信できなくなりました。外すしかないですか?
外す前に、認証の無料枠を超えていないかを確かめてください。サイトキーが月100万回を超えて呼び出されると無料枠の超過とみなされ、その月の残りは検証が失敗し続ける可能性があると公開資料に説明されています。上限に近づくと通知が届く仕組みになっているため、担当者のメールに未読の通知が溜まっていないかも見てください。
Q4. 障害の間に届かなかった件数を、あとから数える方法はありますか?
送信の記録をデータベースに残していない場合、数える方法はありません。メールだけで完結する作りだと、失敗した送信はどこにも残らないためです。同じことを繰り返さないためには、送信された内容をフォーム側に記録する作りに変えるか、受け付けたあとの状況を画面に持てる道具に切り替える判断が必要になります。