「Contact Form 7で作成したフォームが送信できない。」
「メッセージの送信に失敗してしまう。」
「いつまで経ってもローディングが止まらない。」

せっかくフォームを設置したのに、肝心のお問い合わせが送信できなければ意味がありません。そこで今回は、サイト管理者向けに、Contact Form 7でお問い合わせが送信できないときの対処方法をご紹介します。

一つひとつチェックしていけば、きっと解決できます。

WordPressテーマ「PANDORA」
WordPressテーマ「PANDORA」
レイアウト自由自在なブログ・メディアを構築。

まず確認したい環境要因

Contact Form 7で送信トラブルに遭遇したときは、まずは以下の基本的な点を確認してみてください。

インターネット接続は安定しているか。

単純に通信環境が不安定な場合、送信リクエストが途中で切れて失敗することがあります。モバイル回線や公衆Wi-Fiを使用している場合は、安定したネット回線に切り替えて試してみてください。

別のブラウザで試しても同様か。

ブラウザの拡張機能キャッシュの影響で、送信処理が正常に動作しないこともあります。Chrome、Edge、Firefoxなど複数のブラウザで試すことで、ブラウザ固有の問題かどうかを切り分けられます。

WordPressやプラグインが最新バージョンか。

Contact Form 7のバージョンが古いと、WordPressや他のプラグインとの互換性に問題が生じることがあります。WordPress本体・使用しているテーマや関連プラグインをすべて最新版に更新してみてください。

それぞれの更新方法は、下記記事を参考にご覧いただけます。

ケース別の対処法

Contact Form 7では、送信エラーの内容によって、エラーメッセージの枠の色が変わります。ここではケース別に原因と対処法をまとめます。

黄色の枠でエラーメッセージ

黄色の枠でエラーメッセージ

上記のようなメッセージは、入力項目に不備があるときに表示されるバリデーションエラーです。入力項目を再度見直せば解決できるはずです。

稀にJavaScriptの問題やプラグインの影響で表示されることもあるようです。

オレンジ色の枠でエラーメッセージ

オレンジ色の枠でエラーメッセージ

オレンジ色の枠でメッセージが表示される場合、入力した内容がスパムとみなされた可能性があります。

テスト時に発生することはほとんどありませんが、念のため入力内容を見直してみてください。特定のキーワードや意図しない入力により、正当な送信がスパムと誤判定されることもあります。

赤色の枠でエラーメッセージ

赤色の枠でエラーメッセージ

いろんなケースが考えられるのは、こちらの赤色の枠のエラーメッセージです。以下の対処法を一つひとつ見ていきましょう。

対処法1:送信先メールアドレスの設定ミス。

Contact Form 7の送信先メールアドレスに、存在しないものや間違ったドメインを登録しているなどのミスがあると、送信処理が失敗します。

送信先メールアドレスの設定ミス

例:xxx@exampl.com → xxx@example.com
対処法2:送信元アドレスの設定ミス。

送信元に、サイトのドメイン以外のメールアドレスを設定していると、サーバーによってはスパムと判定され送信されないことがあります。

下記箇所には、基本的にサイトのドメインが自動で表示されているはずです。

「From:」に、サイトのドメイン以外のメールアドレスを設定している

推奨形式:noreply@your-domain.com
対処法3:必須フィールドや隠しフィールドが不足していないか。

フォームをカスタマイズしている場合、隠しフィールドを忘れていると正常に送信できないことがあります。たとえば、通し番号などを自動付与している場合は注意が必要です。

対処法4:メール認証(SPF/DKIM)が未設定。

メールのなりすまし防止のため、SPFやDKIM、DMARCの設定が必要な場合があります。設定方法はサーバーによって異なるため、管理画面またはサーバーのサポートに確認しましょう。

対処法5:サーバーのメール機能が動作していない。

一部サーバーでは mail()関数が利用できないか、制限がかかっていることがあります。SMTPを利用してメールを送信する設定に変更しましょう。下記プラグインを使って設定可能です。

対処法6:reCAPTCHA(リキャプチャ)の設定に問題がないか。

reCAPTCHA(リキャプチャ)の設定に問題がないか、以下の点をチェックしてみてください。

  • reCAPTCHAのサイトキー・シークレットキーが正しいか。
  • reCAPTCHAのバージョン(v2 / v3)がContact Form 7側と一致しているか。
  • テーマやプラグインでreCAPTCHAの読み込みがブロックされていないか。
  • Google側の設定で、対象のドメインが正しく登録されているか。

reCAPTCHAの設定については、下記記事を参考にご覧いただけます。

ローディングアイコンが出続ける

ローディングアイコンが出続ける

「送信」ボタンを押した後にぐるぐるとローディングアイコンが回り続け、完了メッセージが表示されない場合、JavaScriptの処理が途中で止まっている可能性があります。

対処法1:フォームをカスタマイズしていないか。

フォームのカスタマイズのために、functions.phpを編集している場合、JavaScriptで正しく処理されなくなることがあります。

筆者もカスタマイズ検証時にこのケースに遭遇しました。下記記事の内容を確認しているときです。最終的には問題なく送信できることを確認しているので、安心して参照してください。

対処法2:JavaScriptのエラーが出ていないか確認する。

ブラウザのデベロッパーツールを開き、「Console」タブでエラーが出ていないか確認してみてください。別のプラグインやテーマのスクリプトと干渉している場合もあります。

対処法3:キャッシュ系プラグインを無効化してみる

Autoptimizeなどのキャッシュ系プラグインの影響で、Contact Form 7のスクリプトが正しく動作しないことがあります。

キャッシュ系プラグインのJavaScriptを圧縮する機能が原因になりうるので、一度プラグインを無効化し、動作が改善するか試してください。

送信エラー解決のポイントまとめ

Contact Form 7で、フォームの送信ができない場合の主な原因と解決方法を解説しました。

まとめると以下のいずれかになります。

特にフォームのカスタマイズしている場合は、設定不備に該当するケースがほとんどです。

それでも解決しないときは、テーマの切り替え、プラグインの無効化、サーバーやデベロッパーツールでエラーログも確認してみてください。当記事がお問い合わせフォームの問題解決に役立てば幸いです。

Contact Form 7に関する記事

売上が上がるネットショップが
WordPressで作成できる。
WordPressテーマ「RIKYU」
WordPressテーマ「RIKYU」
あらゆるジャンルのネットショップが作成可能。
WordPressテーマ「common」
WordPressテーマ「common」
デジタルコンテンツのECサイトがつくれる。
WordPressテーマ「Ankle」
WordPressテーマ「Ankle」
かわいいネットショップを簡単作成。
WordPressテーマ「EGO.」
WordPressテーマ「EGO.」
2大カートプラグイン対応のECサイトを構築。