
Contact Form 7でメールが届かない場合、エラー枠の色を確認するだけで原因の種類が特定できます。原因が特定できれば、対処法の選択肢は自ずと絞れます。
この記事では、枠色ごとの解決手順を順番に解説します。
- 赤・オレンジ・黄・緑のエラー枠別に対処法を網羅
- 送信ボタンを押してもくるくるが続く問題にも対応
- WP Mail SMTPによるSMTP送信切り替えの手順を紹介
WordPress 7.0 + Contact Form 7 v6.1.6 で動作確認済み(2026年6月時点)。
目次
エラー枠の色で原因を診断する
Contact Form 7は、送信後に表示されるメッセージの枠色でエラーの種類が分類されています。まず枠の色を確認しましょう。
| 枠の色 | 意味 | 原因のカテゴリ | 対処法 |
|---|---|---|---|
| 赤枠 | メール送信失敗(mail_failed) | メール設定・サーバー設定のミス | 赤枠の解決方法 |
| オレンジ枠 | スパム検知(spam) | reCAPTCHA・Akismetの設定ミス | オレンジ枠の解決方法 |
| 黄枠 | バリデーションエラー(validation_failed) | フォームタグの入力ミス | 黄枠の解決方法 |
| 緑枠(なのに届かない) | 送信成功(mail_sent)後の不達 | 迷惑メールフォルダ・SPF/DKIM未設定 | 緑枠なのに届かない場合 |
| くるくるが続く | JavaScript処理が止まっている | プラグイン競合・キャッシュ干渉 | くるくるが続く場合 |
(出典:Contact Form 7 FAQ – contactform7.com、submission.php – GitHub)
枠の色が出ず、送信ボタンを押しても何も起きない場合は「くるくるが続く」ケースに該当します。
赤枠が表示される場合の解決方法
赤枠は「メールの送信処理自体が失敗している」状態です。フォームの入力は受け付けられましたが、WordPressからメールサーバーへの送信ステップでエラーが発生しています。
次の2点を順番に確認してください。
送信元メールアドレスを確認・修正する
赤枠で最も多い原因は、送信元(From)のメールアドレスのドメインがサイトのドメインと一致していないことです。
WordPress管理画面から「お問い合わせ」→「フォーム一覧」→対象フォームの「編集」を開き、「メール」タブをクリックします。「送信元」フィールドの値を確認してください。
- ✅ 正しい例:
[_site_title] <info@example.com>(サイトドメインと同じドメイン) - ❌ 避けるべき例:
info@gmail.com(サイトドメインと異なるドメイン)
メールサーバーは、送信元ドメインがサーバーのドメインと一致しない場合、送信を拒否することがあります。
WP Mail SMTPでSMTP送信に切り替える
送信元ドメインを確認しても解決しない場合は、WordPressのデフォルトのメール送信(wp_mail() / PHPのmail()関数)をSMTP経由に切り替えます。WP Mail SMTP(有効インストール数 400万以上)を使うのが最も確実な方法です。
まず、プラグインをインストールします。管理画面の「プラグイン」→「新規プラグインを追加」を開き、「WP Mail SMTP」で検索してください。

インストールと有効化が完了したら、「WP Mail SMTP」→「設定」を開きます。「送信元メールアドレス」にサイトドメインのメールアドレスを入力し、「メーラー」欄で利用するSMTPサービスを選択して保存します。

- Gmail:Googleアカウントがあればすぐ使える(OAuth2認証)
- SendGrid / Brevo / Mailgun:月間送信数の上限内なら無料。到達率が高い
- その他のSMTP:レンタルサーバーのSMTP情報を使う場合。ホスト名・ポート番号・認証情報はサーバーの管理画面で確認できます
詳しい設定手順は「【WordPress】メールが届かない・送信できない問題をSMTPで解決する方法(WP Mail SMTP)」をご覧ください。
設定完了後は、WP Mail SMTPの「Email Test」機能で実際にメールが届くか確認してください。設定ミスがあっても、テスト送信でエラー内容が表示されるので特定しやすくなります。
オレンジ枠が表示される場合の解決方法

オレンジ枠は「スパム検知によって送信が中断された」状態です。メールは送信されていません。
reCAPTCHAの設定を確認する
reCAPTCHAのバージョンが管理画面とフォームで統一されているか確認します。
「お問い合わせ」→「インテグレーション」→「reCAPTCHA」を開き、設定されているバージョン(v2 or v3)を確認してください。フォームのタグに設置している reCAPTCHA タグと、ここで設定しているバージョンが一致していることが必須です。
- サイトキー・シークレットキーが正しく入力されているか
- バージョン(v2 / v3)が統一されているか
- Google reCAPTCHAの管理画面でサイトのドメインが登録されているか
詳しい設定手順は「Contact Form 7のスパム対策方法(reCAPTCHA)」をご覧ください。
Akismetの設定を確認する
Akismetプラグインが有効な場合、フォームの入力内容がスパムと判定されることがあります。「Akismet Anti-Spam」→「設定」を開き、APIキーが正しく入力されているか確認してください。
テスト送信時に「スパム」と判定される場合は、入力する名前や本文を変えて再試行してみてください。
黄枠が表示される場合の解決方法

黄枠は「フォームの入力内容にバリデーションエラーがある」状態です。フォームのタグ設定を確認します。
フォームタグの入力ミスを修正する
黄枠エラーの多くは、フォームタグのスペル・スペース・記号の誤りが原因です。「メール」タブで使っているメールタグと、「フォーム」タブで定義したフィールド名が完全に一致しているか確認してください。
- フォームタブ側:
[text* your-name](name属性:your-name) - メールタブ側:
[yourname](ハイフンが抜けている → タグが動かない)
大文字・小文字の違いも原因になります。コピー&ペーストで合わせるのが確実です。

緑枠なのにメールが届かない場合

緑枠は「WordPressからの送信処理は成功した」状態です。つまり、問題はWordPressの外側(受信側のメールサーバーや認証設定)にあります。
迷惑メールフォルダを確認する
最初に確認すべきは迷惑メールフォルダです。送信元ドメインのSPF・DKIM認証が不完全な場合、正常に送信されたメールでも受信側のメールサーバーがスパムと判定することがあります。
管理者への通知メール・ユーザーへの自動返信メール(メール(2))の両方を確認してください。
Flamingoで送受信を確認する
「メールが届いているかどうか」の切り分けに役立つのが、CF7公式の関連プラグインFlamingo(有効インストール数 80万以上)です。Flamingoは、送信されたフォームのメッセージをWordPressのデータベースに保存します。
Flamingoをインストール・有効化した後、「Flamingo」→「受信メッセージ」を開きます。フォームから送信されたメッセージの一覧が表示されます。

Flamingoにメッセージが記録されている場合、CF7側の送信は成功しています。メールが届かない原因はメールサーバー側にあります。
Flamingoにメッセージが記録されていない場合は、CF7自体が送信を完了していません。フォームタグやメール設定を再確認してください。
SPF・DKIM認証を整備する
Flamingoでメッセージが記録されているにもかかわらずメールが届かない場合、送信ドメイン認証(SPF・DKIM)の未設定が原因のことがあります。
SPF・DKIMはDNSレコードの設定であり、Contact Form 7の設定変更では対処できません。利用しているレンタルサーバーの管理画面またはサポートページを参照して設定します。
- SPF:「このドメインからメールを送れるサーバー」を宣言するDNSレコード
- DKIM:メールにデジタル署名を付与し、改ざんされていないことを証明する仕組み
- DMARC:SPF・DKIMの認証に失敗したメールをどう扱うか指定するポリシー
2024年2月以降、Gmailを含む主要なメールサービスはSPF/DKIMが未設定の送信者からのメールを受信拒否またはスパム扱いにする方針を強化しています。
くるくるが続いて送信できない場合

送信ボタンを押した後、くるくる(ローディングアイコン)が表示されたまま止まらない場合は、JavaScriptの処理が完了していない状態です。エラーメッセージ自体が表示されないため原因が分かりにくいですが、ほとんどの場合はプラグイン競合またはキャッシュ干渉です。
キャッシュプラグインを一時無効化して確認する
W3 Total Cache・WP Super Cache・LiteSpeed Cacheなどのキャッシュ系プラグインが、CF7のJavaScriptファイルをキャッシュして古いバージョンを読み込んでいることがあります。
キャッシュプラグインを一時的に無効化して、フォームを再送信してみてください。送信できた場合は、キャッシュプラグインの「除外設定」にCF7のJSファイルを追加します。
プラグイン競合をチェックする
キャッシュ以外のプラグインとの競合を確認するには、次の手順を試してください。
- CF7以外の全プラグインを一時的に無効化する
- フォームを送信し、くるくるが解消されるか確認する
- 解消された場合、プラグインを1つずつ有効化しながら再現するものを特定する
ブラウザの開発者ツール(F12)→「コンソール」タブを開いた状態で送信すると、JavaScriptエラーのメッセージが表示されます。エラー内容で原因プラグインの手がかりになることがあります。
よくある質問
Q. Contact Form 7はスパムになりやすいですか?
CF7自体がスパム扱いになるわけではありません。送信元ドメインのSPF・DKIM認証が未設定の場合や、フォームの内容がスパムと判定されやすいキーワードを含む場合に、受信側のメールサーバーがスパムフォルダに振り分けることがあります。WP Mail SMTPで信頼性の高いSMTP経由で送信するとメールの到達率が向上します。
Q. 「送信がスパムと見なされました」と表示されます
オレンジ枠のエラーメッセージです。reCAPTCHAのAPIキーやバージョン設定を確認してください。Akismetプラグインが有効な場合は、フォームの入力内容を変えて再試行してみてください。
Q. 自動返信メール(メール(2))だけ届きません
「メール」タブの設定は問題ないのに「メール(2)」だけ届かない場合、「メール(2)」タブの「メール(2)を使用する」にチェックが入っているか確認してください。また、「送信先」フィールドに自動返信先のメールタグ(例:[your-email])が正しく入力されているかも確認します。
Q. WP Mail SMTPは無料で使えますか?
WP Mail SMTPの基本機能は無料で使えます。Gmail・SendGrid・Brevo・Mailgunなど主要なSMTPサービスとの連携が無料版でも利用可能です。有料のProプランでは、メール送信ログの保存・バックアップ接続などの機能が追加されます。
Q. Flamingoとは何ですか?
Flamingoは、Contact Form 7の関連プラグインで、フォームから送信されたメッセージをWordPressのデータベースに保存します。メールが届かないときに「CF7からは送信されたのか」「それとも届いていないのか」の切り分けに役立ちます。CF7と同じ作者が開発した無料プラグインです。
Q. スマートフォンから送信するとメールが届きません
PCからは届くのにスマートフォンからだけ届かない場合、モバイル向けのキャッシュ設定や、モバイルテーマで読み込まれるJavaScriptが異なる可能性があります。スマートフォンのブラウザでもPCブラウザ(デスクトップモード)に切り替えて試し、問題が再現するか確認してみてください。
Q. テスト送信は何度行ってもいいですか?
テスト送信自体に回数制限はありませんが、利用しているレンタルサーバーによっては1時間あたりの送信数に上限が設けられているケースがあります。WP Mail SMTPのEmail Test機能でテストするか、SMTPリレーサービスを使うとサーバーの送信制限を回避できます。
まとめ
Contact Form 7でメールが届かない場合の対処法をまとめます。
- 赤枠:送信元メールアドレスのドメインを確認 → 解決しなければWP Mail SMTPでSMTP送信に切り替える
- オレンジ枠:reCAPTCHAのAPIキー・バージョンを確認 → Akismetの設定を確認する
- 黄枠:フォームタグとメールタグのスペルが一致しているか確認する
- 緑枠なのに届かない:迷惑メールフォルダを確認 → Flamingoで送信ログを確認 → SPF/DKIMを整備する
- くるくるが続く:キャッシュプラグインを一時無効化 → プラグイン競合を1つずつ特定する
まずエラー枠の色を確認し、該当するセクションの手順を試してみてください。それでも解消しない場合は、WP Mail SMTPとSMTPリレーサービスの組み合わせが最も確実な解決策です。
関連記事もあわせてご覧ください。
- 【WordPress】お問い合わせフォームの設置方法(Contact Form 7)
- 【WordPress】Contact Form 7のスパム対策方法(reCAPTCHA)
- 【WordPress】送信先を複数のメールアドレスに設定する方法(Contact Form 7)







