WordPressからメールが届かない原因は?Contact Form 7でもSMTP設定が必要な理由【2026年版】

WEB制作

WordPressで問い合わせフォームを作り、テスト送信してみる。

画面には、

「ありがとうございます。メッセージは送信されました。」

と表示された。

ところが、メールが届かない。

Contact Form 7を使っていると、このトラブルに遭遇することがあります。

さらに厄介なのが、

  • 自分には届くけどクライアントには届かない
  • Gmailには届かない
  • 迷惑メールに入る
  • 昨日まで届いていたのに突然届かなくなった
  • 自動返信だけ届かない

といったケースです。

先に結論を言うと、「Contact Form 7が送信完了になった=相手のメールボックスまで届いた」ではありません。

現在のメールは迷惑メール対策がかなり厳しくなっており、WordPressから確実性の高いメール送信を行うには、SMTPやSPF・DKIM・DMARCなども含めて考える必要があります。

今回は2026年9月時点の情報をもとに、WordPressからメールが届かない原因と、私が制作・保守時に確認するポイントを整理します。

まず知っておきたい|WordPressはメールサーバーではない

ここを理解すると、かなり分かりやすくなります。

WordPressにはメールを送るためのwp_mail()という関数があります。

Contact Form 7などのフォームプラグインも、この仕組みを利用してメールを送信できます。

ただしWordPress自体が、Gmailのようなメールサービスを運営しているわけではありません。

WordPress公式ドキュメントでも、wp_mail()がtrueを返した場合について、

メールの送信処理が正常に行われたことを意味するだけで、相手が受信したことを保証するものではない

と説明されています。

フォーム上の「送信成功」と「メールが相手へ届いた」は別の話です。

Contact Form 7で「送信完了」なのにメールが届かない理由

フォーム送信から実際にメールを読むまでには、ざっくり次のような流れがあります。

  1. ユーザーがフォームを送信する
  2. Contact Form 7が処理する
  3. WordPressがメール送信処理を行う
  4. 送信側メールサーバーから送られる
  5. 受信側メールサーバーが受け取る
  6. 迷惑メール判定などが行われる
  7. 受信トレイへ表示される

Contact Form 7が正常でも、4〜7のどこかで問題が起きればメールは届きません。

そのため、

「Contact Form 7がおかしい」

と決めつけてプラグインを入れ直しても直らないケースがあります。

WordPressからメールが届かない主な原因

原因はひとつとは限りません。

実務では、次のようなポイントを順番に確認します。

原因 確認すること
宛先ミス Contact Form 7の送信先
送信元アドレス サイトのドメインと一致しているか
迷惑メール判定 迷惑メールフォルダ
サーバー側制限 メール送信機能・ログ
SPF DNS設定
DKIM 電子署名が設定されているか
DMARC 認証ポリシー
PHPメール SMTPへ変更

最初に確認するのはContact Form 7の「送信元」

Contact Form 7を使っているなら、まずメール設定の送信元を確認します。

たとえばサイトが、

example.com

なのに、送信元が、

example@gmail.com

のようになっているケースです。

これはおすすめできません。

基本的には、

wordpress@example.com

や、

info@example.com

など、サイトと同じドメインのメールアドレスを送信元として使います。

問い合わせしたユーザーのメールアドレスを、そのまま「送信元」に設定するのも避けた方がいいです。

ユーザーのメールアドレスはReply-Toとして設定すれば、受信したメールからそのまま返信できます。

なぜGmailに届きにくくなったの?

近年、Googleをはじめとしたメールサービスは迷惑メール対策を強化しています。

GoogleはGmailへメールを送る送信者に対して、送信者ガイドラインを設けています。

2026年現在、Gmailへ送信するすべての送信者には、少なくともSPFまたはDKIMによるメール認証が求められています。

さらにGmail宛へ1日5,000件以上送信する大量送信者には、

  • SPF
  • DKIM
  • DMARC

など、より厳しい要件があります。

一般的な企業サイトの問い合わせフォームが1日5,000件送ることはほぼないと思います。

しかし、メール認証そのものが重要になっている流れは無視できません。

「昔からこの設定で送れていた」は、今後も届く保証にはなりません。

SPFとは?

SPFはSender Policy Frameworkの略です。

簡単に言えば、

「このドメインからメールを送っていいサーバーはここです」

とDNSへ登録する仕組みです。

たとえばexample.comというドメインを使ってメールを送信したとき、受信側はDNSを確認します。

送信してきたサーバーが正規の送信元として登録されていれば、なりすましメールではない可能性が高いと判断できます。

DKIMとは?

DKIMはDomainKeys Identified Mailの略です。

送信するメールへ電子署名を付け、

  • 正しいドメインから送られたか
  • 途中でメールが改ざんされていないか

を受信側が確認できる仕組みです。

SPFが「どのサーバーから送信してよいか」を確認するものなら、DKIMはメールそのものへ署名する仕組みと考えると分かりやすいと思います。

DMARCとは?

DMARCはSPFやDKIMを利用して、認証に失敗したメールをどう扱うか決める仕組みです。

また、自分のドメインを使ったなりすましメールがどれくらい送信されているのかを確認するためのレポート機能もあります。

ざっくり整理すると、

仕組み 役割
SPF 送信してよいサーバーを確認
DKIM メールへ電子署名
DMARC SPF・DKIM失敗時の扱いを決める

という関係です。

SMTPとは?

SMTPはSimple Mail Transfer Protocolの略です。

メールを送信するための通信ルールです。

WordPressでSMTPを利用する場合、PHPのメール送信機能へそのまま任せるのではなく、

認証されたメールサーバーを経由して送信する

形にできます。

たとえば、

  • レンタルサーバーのSMTP
  • Google Workspace
  • Microsoft 365
  • Amazon SES
  • SendGrid
  • Brevo

などを利用する方法があります。

WordPressからメールを送るなら、「どのメールサーバーを使って送るのか」を明確にした方が管理しやすくなります。

SMTPを設定すれば必ず届く?

ここも勘違いしやすいところです。

SMTPを設定すれば100%届くわけではありません。

SMTPはメール送信を安定させる重要な要素ですが、

  • SPFが間違っている
  • DKIMが設定されていない
  • 送信元ドメインの評価が悪い
  • メール本文がスパム判定される
  • 受信側のフィルター

などによって届かない可能性は残ります。

SMTPは「迷惑メール判定を絶対に回避する魔法の設定」ではありません。

SMTPプラグインは何を使えばいい?

WordPressにはSMTPを設定するためのプラグインが複数あります。

代表的なものとして、

  • WP Mail SMTP
  • FluentSMTP
  • Post SMTP

などがあります。

どれを使うかより重要なのは、

  • どのSMTPサーバーから送るのか
  • 認証方法は何か
  • SPF・DKIMが正しく設定されているか
  • エラー時にログを確認できるか

です。

プラグインを入れただけで終わらせないようにします。

Contact Form 7とSMTPは役割が違う

これも整理しておきたいところです。

機能 役割
Contact Form 7 問い合わせフォームを作る
Turnstile BOT・スパム送信対策
SMTP メールを送信する経路
SPF・DKIM・DMARC 送信メールの認証

それぞれ別の役割です。

Turnstileを入れたからメールが届きやすくなるわけでもありません。

SMTPを設定したからスパム投稿が減るわけでもありません。

フォーム、スパム対策、メール送信、メール認証を別々に考えるとトラブルの原因を切り分けやすくなります。

メールが届かないときの確認順序

私なら、まず簡単なところから確認します。

1.送信先メールアドレス

単純な入力ミスがないか確認します。

2.迷惑メールフォルダ

GmailやOutlook側で迷惑メールになっていないか確認します。

3.Contact Form 7の送信元

サイトと同じドメインのメールアドレスになっているか確認します。

4.別のメールアドレスへ送信

Gmail、独自ドメインメールなど複数の宛先で試します。

5.SMTP設定

WordPressがどの経路でメールを送信しているか確認します。

6.SPF・DKIM

DNSとメールサーバー側の設定を確認します。

7.メールログ

送信側サーバーやSMTPサービスにログがあれば確認します。

8.受信側エラー

バウンスメールやSMTPエラーコードが返っていないか確認します。

フォームのメールは「届いているはず」で運用しない

企業サイトで一番怖いのは、フォームが壊れていることに気づかない状態です。

問い合わせしたユーザーには、

「送信しました」

と表示される。

でも会社には届いていない。

ユーザー側からすると、当然返事が来ると思っています。

会社側は問い合わせが来ていること自体を知りません。

フォーム障害はエラー画面が出るより、「正常に見えて実は届いていない」方が怖いです。

数週間気づかなければ、その間の問い合わせを失っている可能性があります。

WordPress保守でフォーム送信テストもした方がいい

WordPress保守というと、

  • WordPress本体更新
  • プラグイン更新
  • バックアップ
  • セキュリティ対策

だけをイメージしがちです。

しかし問い合わせが重要な企業サイトなら、フォームの送信確認も定期的に行った方がいいと思います。

特に、

  • サーバーを変更した
  • DNSを変更した
  • メールサーバーを変更した
  • Google Workspaceへ移行した
  • Microsoft 365へ移行した
  • Contact Form 7を更新した
  • SMTP設定を変更した

後は確認しておきたいところです。

メールサーバーを移転したときはDNSにも注意

WEB制作では、WEBサーバーだけ移転してメールは別サーバーという構成もあります。

たとえば、

  • WEB:レンタルサーバーA
  • メール:Google Workspace

という構成です。

この場合、DNSには、

  • A / AAAA / CNAME
  • MX
  • TXT

など複数の設定が存在します。

WEBサイトを移転したからといって、DNSを何も考えず丸ごと変更するとメールが止まることがあります。

WEBサーバーとメールサーバーは同じとは限りません。

サーバー移転時は現在のDNSレコードを事前に確認しておくことが重要です。

自動返信メールも確認する

Contact Form 7では管理者向けメールだけでなく、ユーザーへ自動返信メールを送ることがあります。

この場合、

  • 管理者メールは届く
  • 自動返信だけ届かない

というケースもあります。

そのためテストするときは、

  1. 管理者へ届いたか
  2. 問い合わせした側へ自動返信が届いたか
  3. 迷惑メールに入っていないか

まで確認します。

「送信できた」で終わらず「受信できた」まで確認する

WEB制作では、フォームを作って送信ボタンを押し、

「送信完了画面が出たからOK」

で終わらせてはいけません。

実際に、

  • メールを受信する
  • 本文が正しい
  • 文字化けしていない
  • Reply-Toが正しい
  • 自動返信も届く
  • スマートフォンからも送れる

ところまで確認します。

問い合わせフォームの目的は「送信ボタンを動かすこと」ではなく、「問い合わせを会社へ届けること」です。

まとめ|WordPressのメールはフォームだけ見ても解決しない

WordPressからメールが届かない場合、Contact Form 7だけを確認しても原因が見つからないことがあります。

メールが届くまでには、

  • WordPress
  • フォームプラグイン
  • SMTP
  • メールサーバー
  • DNS
  • SPF
  • DKIM
  • DMARC
  • 受信側の迷惑メール判定

など複数の仕組みが関係しています。

特に2026年現在は、GoogleやYahooなどが送信者要件を強化しているため、昔と同じ設定を続けていれば必ず届くとは限りません。

Contact Form 7が「送信成功」でも安心せず、実際にメールが届いたところまで確認する。

そして企業サイトなら、公開時だけではなく定期的にフォームをテストする。

問い合わせを取るためのWEBサイトなら、デザインやSEO以前に、問い合わせが確実に届く状態を維持することが大切です。

参考:公式情報

タイトルとURLをコピーしました