Contact Form 7 のメールが届かない原因と対処法

「Contact Form 7 で作成したお問い合わせフォームからメールが届かない」というご相談をよくいただきます。

重要なメールを逃さないよう、設定の見直しやメール配信元の変更で対応しましょう。本記事では以下のケースに関する対処法を複数パターン解説しています。

  • 自分(管理者)あてに問い合わせメールが届かない
  • お客様あてに自動返信メールが届かない

サーバーや環境によって効果が変わってきますので、何パターンかテストしてみてください。

メールが届かない理由

メールが届かない理由は、大きく以下の 2 つです。

  1. Contact Form 7 の設定が間違っている
  2. そのサーバー(ドメイン)からのメールがブロックされてしまっている

Contact Form 7 の設定が間違っている場合は、少し修正するだけで解決します。

やっかいなのは 2 番目の理由で、お問い合わせフォーム経由だけではなく WordPress からのメールがすべて(自動更新通知など)届かなくなるんですよね。

とくに送信先が Gmail の場合は到達率がかなり下がります。2024 年 2 月にはさらなる迷惑メール対策強化も行われ、公的な情報ですら届かなくなっているようです。

警視庁が「Gmail」への防犯情報提供を一時停止、新しいガイドラインの適用を受けて

Gmail はホワイトリスト機能がないため、残念ながら「特定のメールを必ず受信する(させる)」ということはできません。

そもそもメールは 100 % 届くものではない、ということだけは覚えておきましょう。本記事の解説も、「できるだけ到達率を上げる」方法です。

メール到達率を上げる方法

Contact Form 7 の基本的な使い方は以下の記事をご覧ください。

Contact Form 7 の使い方と CSS デザイン・カスタマイズ方法

以下、メール到達率を上げる方法を 5 パターン解説します。

01. Contact Form 7 の送信元アドレスを変更しない

フォーム編集画面の「メール」では、初期値の送信元が以下の形になっています。

[_site_title] <wordpress@example.com>
  • _site_title:サイト名に置換される
  • example.com:あなたのサイトのドメイン
  • wordpress@example.com:WordPress が自動的に作成する架空のメールアドレス
Contact Form 7 送信元

この送信元アドレスを Gmail( @gmail.com ) など他のドメインにしてしまうと、メール到達率が下がります。

「住所が沖縄なのに、消印が北海道になっている」というイメージに近く、毎回住所と消印が異なるため怪しく思われてしまうわけです。

Contact Form 7 でも「設定エラー」と表示されるので、一度確認してみてください。長年使用しているとエラーに気づかない可能性があります。

Contact Form 7 送信元設定エラー

初期値のままにしておくか、サイトの独自ドメインで作成したメールアドレスを設定しておきましょう。

自動返信で使われる「メール (2)」の設定も同様です。

02. 自動返信する場合はスパム対策を厳重にする

「メール (2)」を使うと自動返信できますが、よほどの理由がないかぎり使用はおすすめしません。

Contact Form 7 送信先設定エラー

たとえ相手がスパマーでも自動返信するので、以下のリスクが生じます。

  • スパマーに管理者のメールアドレスがバレてしまう
  • スパムで大量の問い合わせがきたとき、そのすべてに返信する形になる

スパマーが何百回と問い合わせフォームからメールを送ってきたとき、そのすべてに自動返信すると「ランダムな迷惑メールを大量に送っているサイト」と認識されるかもしれません。

もし自動返信を使うのであれば、Akismet に加え reCAPTCHA も設定してスパム対策をきっちり行ってください。

スパムブロックプラグイン「Akismet」の設定方法と使い方

スパマーがメールを送れないようにしておけば、こちらから怪しいアドレスにメールを送ることもなくなります。

reCAPTCHA は少し重いので、個人的には hCaptcha をおすすめします。

03. DKIM / SPF / DMARC を設定する

「DKIM」と「SPF」は送信メールの改ざんやなりすましを防ぐ技術で、サーバーに設定機能がある場合は必ず ON にしてください。

「DMARC」もこれから必須になってくると思います(メールマガジンを配信している場合は必須と覚えておいて間違いありません)。

サーバーによっては設定の切り替えができないか、機能そのものがないことがあります。もし到達率を上げる必要があるなら、「DKIM」「SPF」「DMARC」が使えるサーバーに乗り換えたほうがよいでしょう。

ビジネス目的での運用なら、エックスサーバーをおすすめします。

WordPress ブログ初心者に「エックスサーバー」をおすすめする理由

04. 別サーバーから配信する

「このサーバーから送られてくるメールは怪しい」と一度でも判定されてしまうと、スパム対策・なりすまし防止対策をしても即効性は期待できません。

「怪しくない」と認識されるまでかなり時間がかかるので、メールを配信するサーバーを変えるほうが手っ取り早いですね。

方法はいくつかありますが、プラグイン「WP Mail SMTP 」を使うのが簡単です。現在のサーバーを利用したまま、メールだけ別のサーバーから送信できます。

たとえば Google のサーバーからメールを送るようにしておけば、Contact Form 7 の送信元を Gmail にしても問題ありません(むしろ到達率が上がる可能性があります)。

WordPress で WP Mail SMTP を Gmail で設定する方法 | Hep Hep!

「WP Mail SMTP」を有効化しただけでは効果がないので、必ず最後まで設定してくださいね。

設定を外注する場合、Google アカウントのログイン情報を渡すことになります。メールも Google Drive もすべて覗かれるリスクがあるので、信頼できる方に依頼してください。

05. フォームを外部サービスに変更する

Contact Form 7 や WP Mail SMTP での設定が難しい場合、お問い合わせフォームを外部サービスで作成したほうがよいかもしれません。

Gmail をメインに使っているなら、Google Forms がおすすめです。

WordPress の固定ページに表示させる(埋め込む)手順を簡単に解説します。


お問い合わせフォームを作成

「名前」や「メールアドレス」などの必要なパーツを配置し、右上の「送信」をクリック。

Google Forms 作成画面
埋め込みコードをコピー

を選択し、出てきたコードをコピーします。

Google Forms 埋め込みコード
固定ページにコードを貼り付け

「カスタム HTML」ブロックにコードを貼り付け。

Google Forms コードを貼り付け
表示確認

プレビューで確認して完了です。

Google Forms プレビュー

Google Forms を利用すれば、お互い Gmail でもほぼ確実に届きますし、スパム対策も Google 側がやってくれるので安心です。

いったんフォームを置き換えておいて、その間に Contact Form 7 の設定見直しを行う、というのもよいですね。

固定ページに埋め込まず、一時的に外部サービスにリンクしておくのもよいと思います。

デザインとの兼ね合いもありますが、選択すべきは「きれいで届かないフォーム」ではなく「デザインに違和感があっても確実に届くフォーム」です。

メールが届いているか検証できるプラグイン

以下のプラグインを入れておくと、Contact Form 7 からのお問い合わせや WordPress からのメールが届いているか検証できます。

  • Flamingo
  • WP Mail Logging

Flamingo

「Flamingo」は、Contact Form 7 経由のメールのみ記録してくれるプラグイン。

WordPress の管理メールなどは記録されないので、本来は「お問い合わせを管理画面で確認したい」という目的で使うものです。担当者が複数人いるときは便利ですね。

手元に届くメールと照らし合わせ、Contact Form 7 からのメールが届いているかの検証にも使えます。

Flamingo サンプル画面

WP Mail Logging

「WP Mail Logging」は、WordPress からのメールをすべて記録してくれるプラグイン。

Contact Form 7 経由のお問い合わせも記録してくれるので、検証したいならこのプラグインを入れておけば十分です。

自動返信が正常に送られているかもチェックできますよ。

WP Mail Logging サンプル画面

まとめ

送信元のメールアドレスを「ドメインと同じメールアドレス」にするか「Gmail など他のメールアドレス」にするかで対応が異なります。

配信元メールアドレス対策
サイトのドメインと同じサーバーで DKIM / SPF / DMARC を設定する
Gmail「WP Mail SMTP」で配信サーバーを変更するか、Google Forms に切り替える

独自ドメインのメールアドレスを使いつつ配信サーバーだけ変える、という方法もありますが、基本的に従量制となっており配信数に応じたコストがかかります。

まずは本記事の対処法を試してみて、どうしても届かないようであれば検討してみてください。

レンタルサーバーを乗り換えるのも効果があるので、どの方法が最適か判断できないときは遠慮なくご相談いただければと思います。

Author

Naifix 編集部
Web コンサルティング業務を中心に、サイト制作・コンテンツ販売・メディア運営代行業務を行っております。当サイト(Naifix)では、おもにブログ初心者向けのノウハウを無料で配信しています。