WordPress

【WordPress】Contact Form 7 メールが届かない原因と解決策【WPForms対応】

・フォームから送信しても管理者に届かない
・自分には届くがユーザーに返信メールが届かない
・迷惑メールにも見当たらない

このような状態で困っていませんか?

Contact Form 7やWPFormsの「メールが届かない問題」は、
設定ミスだけでなく、昨今のセキュリティ強化(SPF/DKIM設定)が原因のケースも増えています。原因を正しく切り分けないと、設定を変えても解決しません。

この記事では、初心者でも順番に確認すれば原因を特定できるように、
チェック手順と解決方法を体系的に解説します。

すぐ試せる解決手順まとめ(時短用)

今すぐ直したい方は、以下の3ステップを順に試してください。

手順① From(差出人)を修正: サイトのドメインと同じメールアドレスに変更する。

手順② WP Mail SMTPを導入:外部SMTPサーバー(またはレンタルサーバーのSMTP)経由で送る設定にする。

手順③ テスト送信:プラグインのテスト機能や実際のフォームから送信し、管理者・ユーザー両方に届くか確認する。

この手順で進めれば、ほとんどの「メールが届かない」トラブルは解消されます。

【STEP1】最初に確認するべき設定

プラグイン内のメールタブ設定

管理者宛てメール設定(Contact Form 7 )の場合

Contact Form 7の管理者宛てメール設定画面

送信先:[_site_admin_email] はWordPressの「設定」>「一般」>「管理者メールアドレス」に登録されているメールアドレスに、メールが届きます。

送信元:「!サイトのドメインに属していない、メールアドレスが送信元に設定されています。」
という警告が出ています。この警告が出ている状態では、メールが届かない、あるいは迷惑メールフォルダにはいってしまう可能性が非常に高いです。

チェックポイント

  • 送信先メールアドレス(To) : 管理者の受信したいアドレスが正しく入力されているか。
  • 送信元(From)の書き方: ここが空欄だったり、不適切な形式になっていないか。
  • フォームタグとの一致確認[your-email] などのタグが、実際のフォーム項目名と一致しているか。

よくある設定ミスと修正方法

もっとも間違いやすく、かつ重要なのが「差出人(From)」の設定です。筆者も以前、Fromを別ドメインのアドレスにしていたことでメールが届かず、設定を見直すまで原因に気づけませんでした。

メールが届くまでの図解

ドメインの不一致

「メールの送信元(From)」のドメインと、「実際に送信を行うサーバー」のドメインが違うと、受信側のセキュリティによってブロックされます。

正しい設定例: サイトが「example.com」なら、Fromは必ず「info@example.com」にしましょう。

通知メールを受信するためのアドレスは、送信先メールアドレス(To)に設定します。

【STEP2】「設定ミス」以外でメールがブロックされる原因

設定が正しくても、サーバーの信頼性の問題で届かないことがあります。

ドメインを取得していない(初期ドメインの使用)

レンタルサーバー(エックスサーバー、ConoHa WING、さくらのレンタルサーバなど)を契約した直後の「初期ドメイン(例: 〇〇.sakura.ne.jp や 〇〇.xserver.jp)」や、IPアドレスのまま運用している場合、メールの到達率が下がることがあります。お問い合わせフォームを運用するなら、信頼性を確保するために必ず独自ドメインを取得し、そのドメインのアドレスを送信元(From)に設定しましょう。

SPF / DKIMの影響

SPFは「このサーバーから送信してよい」という許可設定、
DKIMは「改ざんされていないことを証明する署名」です。
送信元ドメインのDNS設定でSPF設定がされていないと、Gmailやキャリアメール(docomo/au/softbank)にはほぼ届きません。

設定が反映されているか不安な方は、DNS Robotのような無料ツールで確認してみましょう。ドメイン名を入れるだけで、設定が有効か判定してくれます。
※DNSの仕組みを利用した公開情報のチェックなので、ここからメールアドレスが漏れる心配はありません。

共有サーバーのIP制限

共用サーバーを使っている場合、同じサーバー内の他ユーザーの影響でIPアドレスがブラックリストに入ってしまう可能性があります。

【補足】特定のメールに届かない場合(症状別チェック)

■ Gmailに届かない場合
まず迷惑メールフォルダを確認してください。
それでも見つからない場合は、SPF/DKIM未設定の可能性が高いです。

■ キャリアメールに届かない場合
迷惑メールフィルタが非常に厳しいため、
SMTP未使用やドメイン不一致でブロックされるケースが多いです。

■ 自動返信だけ届かない場合
Reply-Toの設定ミスや、フォームタグの不一致を確認してください。

【STEP3】WP Mail SMTPで確実に送信する方法

サーバー標準のメール送信機能を使わず、専用の配信システムを経由させるのがもっとも確実な解決策です。

WP Mail SMTPとは

WP Mail SMTPのプラグインの画像

WordPressのメール送信を、外部のSMTPサーバー(Gmail、SendGrid、レンタルサーバーのメール機能など)経由に切り替えるプラグインです。

なぜこれで解決するのか

WP Mail SMTPを使用した際のメールが届くまでの図解

標準サーバーでは「ドメイン」が一致しているか、という住所の照合をしていましたが、SMTPの場合は「アカウント」が一致しているか、という認証チェックを行っています。

【STEP4】それでも届かない場合のチェックポイント

reCAPTCHAの影響: reCAPTCHA(特にv3)を使用している場合、右下にロゴが表示されますが、これが原因で送信ボタンが反応しないことがあります。一度無効化してテストすることをお勧めします。

サーバーの送信制限:短時間に大量のメールを送ると、サーバー側で制限がかかることがあります。

プラグインの競合:キャッシュプラグインやセキュリティプラグインが干渉していないか、一度停止してテストしてください。

contact form 7の設定方法については、こちらの記事で詳しく解説しています。

TOP