WordPressのお問い合わせフォームに迷惑メールが来る原因と3つの対処法
WordPressのお問い合わせフォームへの迷惑メール、困りますよね。
気づいたら受信トレイがスパムだらけになってしまうし、本物の問い合わせを見落としそうで不安という気持ちはわかります。
できることなら、余計なメールに時間を取られず、大切な問い合わせだけ受け取りたいですよね。
実は、フォームの設定を少し見直すだけで、スパムの大半を防ぐことができます。
迷惑メールがぐっと減れば、受信トレイの管理に追われることはありません。
そこで今回は、「WordPressフォームに迷惑メールが来る原因と対処法」をご紹介します。
お問い合わせフォームのスパム対応に悩んでいる方は、この記事を参考に対応してみてください。
目次
WordPressのお問い合わせフォームに迷惑メールが届く原因

WordPressのお問い合わせフォームに迷惑メールが届く原因は、WordPressが世界的に使用されているからです。
WordPressをインストールした直後はセキュリティ対策がされていないため、海外のスパムボットを中心に狙いの的になっています。
まずはなぜ迷惑メールが届くのか、原因と背景について解説します。
海外のスパムボットによる自動送信
お問い合わせフォームの迷惑メールは、プログラムが自動で送信しているケースがほとんどです。
スパムボットはWebを巡回してフォームを検出し、自動でメッセージを送り続けるように設計されています。
たとえば、サイトを公開した翌日から英語の不審なメールが届き始めるのは、ボットがフォームを発見してすぐに送信を開始した典型的なパターンです。
対策を講じないかぎりボットは送信し続けるため、早めに手を打つことが大切です。
フォームのメールアドレスがネット上に露出している
送信先のメールアドレスがページ上に直接表示されていると、スパムボットに収集されやすくなります。
ボットはWebページのテキストをスキャンし、メールアドレスを自動的に抜き取る機能を持っています。
例として、「お問い合わせ先:info@example.com」のようにアドレスをそのまま記載していると、短期間で大量のスパム送信先リストに登録されます。
アドレスの直接掲載をやめるだけで、スパムの流入経路を一つ断つことができます。
認証や入力チェックが設定されていない
フォームに人間かどうかを判定する仕組みがないと、ボットは制限なく送信を繰り返せます。
reCAPTCHAやhoneypotといった認証機能は、ボットによる自動送信を弾くための基本的な防壁です。
仮に何も設定していないフォームがあれば、1日に何百通ものスパムが届いても技術的には止める手段がない状態です。
認証の有無が、迷惑メールの量を大きく左右します。
使用プラグインの脆弱性や初期設定のまま放置
フォームプラグインも、古いバージョンのままでは既知の脆弱性を狙われることがあります。
プラグイン開発者はセキュリティ上の問題を修正したアップデートを定期的に配布していますが、更新しなければその恩恵を受けられません。
例として、数ヶ月更新していないContact Form 7を使い続けた結果、脆弱性を突かれてスパムが急増したという事例は少なくありません。
インストール後も定期的な更新と設定の見直しを習慣にすることが、安定した運用につながります。
迷惑メールを放置するとどうなる?3つのリスク

迷惑メールは単なる「邪魔なメール」ではなく、放置するほど業務やセキュリティへの影響が広がります。
どのようなリスクがあるかを把握しておくことが、対策を急ぐ理由になります。
本物の問い合わせが埋もれて見落とす
スパムが大量に届くと、本物の問い合わせが埋もれて気づかないまま時間が経つことがあります。
受信トレイをスパムが埋め尽くすと、重要なメールを目視で探すだけでも手間がかかります。
実際に筆者のお客様でも、新規顧客からの見積もり依頼がスパムに紛れて未返信になり、商機を逃してしまうケースが起きています。
返信漏れが続けば信頼を損なう原因にもなるため、早急な対策が必要です。
メールボックスの圧迫と対応時間の増加
スパムメールが蓄積すると、メールボックスの容量が圧迫され、業務効率も下がります。
毎日届くスパムを手動で削除する作業は、積み重なると無視できない時間的コストになります。
具体的には、1日50通のスパムを処理するだけでも、週単位では相当な作業時間が失われます。
本来は本業に使うべき時間をメール整理に費やさないためにも、根本から対策を講じることが重要です。
不正送信からのセキュリティ被害
フォームへの不正送信が続くと、スパムにとどまらずセキュリティ上の脅威に発展することがあります。
脆弱なフォームはSQLインジェクションやクロスサイトスクリプティングの攻撃口になり得るためです。
例として、フォームを通じた不正なコードの送信により、サイト全体が改ざんされた事例も報告されています。
筆者が過去に相談された案件でも、脆弱なフォームが原因による不正アクセスでした。
迷惑メール対策はセキュリティ対策でもあると認識し、後回しにしないことが大切です。
今すぐできる!迷惑メール対策の基本ステップ

難しい専門知識がなくても、基本的な設定を整えるだけでスパムの大半を防ぐことができます。
まずは効果の高い順に対策を一つずつ実施していきましょう。
reCAPTCHA(v3)を導入する
reCAPTCHA v3は、ユーザーに操作を求めずにボットを判定できる認証機能です。
従来のチェックボックス式と異なり、ユーザーの行動パターンをスコアで評価するため、利便性を損なわずにスパムを弾けます。
たとえば、Contact Form 7では「reCAPTCHA v3」プラグインを導入してAPIキーを設定するだけで、フォームへの自動送信を大幅に減らせます。
Googleアカウントがあれば無料で始められるため、最初に取り組む対策として最適です。
※なお、上記のリンク先に説明があるとおり、reCAPTCHAはGoogleColudに統合されたため、すでに導入している方は移行が必要です。
honeypot(ハニーポット)で自動送信をブロック
honeypotは、人間には見えない隠しフィールドをフォームに設置してボットを検出する手法です。
ボットは画面上の表示を無視してすべての入力欄を埋めようとするため、隠しフィールドに入力があった送信を自動的に弾けます。
具体的には、Contact Form 7向けの「Honeypot for Contact Form 7」プラグインを入れると、設定画面から数クリックで導入できます。
reCAPTCHAと組み合わせることで、より高い防御効果が期待できます。
必須項目や入力チェックを増やす
フォームの入力ハードルを上げることで、単純なスパム送信を弾きやすくなります。
ボットの多くは最小限の入力でフォームを送信しようとするため、必須項目を増やすと突破されにくくなります。
仮に「お名前・会社名・電話番号・問い合わせ内容」をすべて必須にすると、入力が不完全なスパム送信を自動で弾くことができます。
設定はプラグインの管理画面から変更できるため、コードの知識がなくても対応できるでしょう。
メールアドレスの直接表示を避ける
ページ上にメールアドレスをテキストで表示すると、ボットに収集されてスパムの標的になります。
アドレスを画像に変換するか、JavaScriptで表示する方法を使えば、ボットによる自動収集を防ぎやすくなります。
例として、WordPressでは「Email Address Encoder」プラグインを導入するだけで、既存のメールアドレス表示を自動でエンコードしてくれます。
問い合わせ窓口をフォームのみに絞り込むことも、アドレス露出を防ぐ有効な手段です。
プラグイン別・迷惑メールを止める具体的な設定方法

使用しているフォームプラグインによって、有効なスパム対策の設定方法が異なります。
自分の環境に合った方法を選ぶことが、対策を確実に機能させる近道です。
Contact Form 7でのスパム対策設定
Contact Form 7は国内でも広く使われているプラグインですが、初期状態ではスパム対策がほぼ施されていません。
reCAPTCHA v3やhoneypotを組み合わせることで、スパムの大半をブロックできる環境を整えられます。
たとえば、管理画面の「インテグレーション」からreCAPTCHAのAPIキーを登録し、honeypotプラグインを追加するだけで防御力が大きく上がります。
設定後はテスト送信で正常に動作しているか確認することを忘れないでください。
WPFormsの標準スパム防止機能を使う
WPFormsはスパム対策機能を標準で備えており、追加プラグインなしで基本的な防御が行えます。
フォーム作成画面の「設定」タブからhoneypotやreCAPTCHAを有効化できる構造になっています。
具体的には、「スパム防止」セクションのhoneypotをオンにするだけで、ボットによる自動送信を弾く仕組みがすぐに機能します。
シンプルに対策を完結させたい場合は、WPFormsの標準機能を最大限活用することが効率的です。
Akismetでコメント・フォーム両方を守る
AkismetはWordPressに標準搭載されているスパム対策プラグインで、フォームとコメント欄の両方に対応しています。
機械学習によってスパムを自動判定するため、設定後は手動での振り分け作業が大幅に減ります。
例として、WPFormsとAkismetを連携させると、フォームから送信された内容をAkismetが自動でスパム判定し、怪しい送信を弾いてくれます。
商用利用は有料プランが必要ですが、個人・非営利サイトであれば無料で使えます。
セキュリティ対策済のフォームを導入する
プラグインの設定が不安な方は、セキュリティ対策済みのフォームを導入するのがおすすめです。
プログラムレベルで対策が行われていれば、プラグインを有効にするだけで適応できます。
たとえば、自動見積もりフォームが作れる「Fine Simulator」送信回数制限(IP・メールアドレス単位)、重複送信ガード、ワンタイムトークン検証など、複数の防御を標準実装しています。
セキュリティ対策済みのフォームを導入することで、初心者でも安心して運用できるでしょう。
プラグインを増やさず対策する方法
プラグインを増やしたくない場合でも、サーバー設定やテーマのカスタマイズで一定の対策が可能です。
プラグインの数が多いほど管理の手間や競合リスクが増えるため、最小限の構成に抑えたいニーズは少なくありません。
仮にサーバーのメール設定でSPF・DKIMを正しく設定するだけでも、なりすましメールの流入を減らす効果があります。
必要な対策を絞り込み、プラグインの追加と設定変更を組み合わせて最適なバランスを見つけることが重要です。
それでも迷惑メールが止まらないときの追加対策

基本的な対策を実施してもスパムが続く場合は、より踏み込んだ方法で原因を特定する必要があります。
状況に応じた追加策を講じることで、残ったスパムにも対処できます。
特定キーワード・国からの送信をブロック
スパムの内容や送信元に傾向がある場合、特定の条件を指定してブロックする方法が有効です。
Contact Form 7では送信内容にキーワードフィルターを設定でき、一致した送信を自動で弾く仕組みを作れます。
たとえば、英語のスパムが多い場合は日本語以外の文字列を含む送信を弾く設定や、国別IPブロックをサーバー側で適用する方法が効果的です。
傾向を把握してから絞り込むことで、正規の問い合わせを誤ってブロックするリスクを抑えられます。
サーバー側のスパムフィルターを活用
サーバー側にスパムフィルター機能がある場合、WordPressやプラグインに頼らず入口で弾くことができます。
多くのレンタルサーバーはコントロールパネルからスパムフィルターの強度を変更できる機能を提供しています。
具体的には、エックスサーバーやConoHa WINGではメールフィルター設定を強化することで、フォーム経由ではなくメール受信段階でスパムを除去できます。
プラグイン設定と併用することで、二重の防御体制を整えることができます。
フォーム送信ログを確認して原因を特定
スパムが止まらない場合、送信ログを確認することで突破口がどこにあるかを特定できます。
ログには送信元IPや入力内容の傾向が記録されており、対策の抜け穴を見つける手がかりになります。
例として、特定のIPアドレスから繰り返し送信されている場合は、そのIPをサーバー側でブロックするだけで急激にスパムが減ることがあります。
原因を可視化してから対策を打つことで、場当たり的な対応を避け、効率よく問題を解消できるでしょう。
迷惑メールに悩まないフォーム運営を続けるコツ

一度対策を施しても、スパムの手口は変化し続けるため定期的な見直しが欠かせません。
継続的なメンテナンスの習慣が、長期的に安心できる運営環境をつくります。
プラグインとWordPressを定期的に更新する
WordPressとプラグインを最新の状態に保つことは、セキュリティ対策の基本中の基本です。
古いバージョンには既知の脆弱性が存在し、スパムボットや攻撃者に悪用されるリスクがあります。
たとえば、更新通知を無視して半年放置したプラグインが攻撃の入口となり、フォームを通じた不正送信が急増した事例は珍しくありません。
管理画面の更新通知を定期的に確認し、こまめにアップデートを適用する習慣をつけることが大切です。
定期的に対策の効果を見直す
導入した対策が現在も有効かどうかを定期的に確認することで、スパムの変化に素早く対応できます。
スパムの手口は進化するため、一度設定して終わりにするのではなく、定期的に効果を検証する姿勢が必要です。
具体的には、月に一度スパムの件数や内容を確認し、急増していれば設定の見直しや追加対策を検討する運用フローを作るのが効果的です。
小さな変化を早期に察知することが、被害を最小限に抑える鍵になります。
問い合わせ対応をスムーズにする運用の工夫
スパム対策と並行して、正規の問い合わせを確実に受け取れる仕組みを整えることも重要です。
フォームの自動返信設定や問い合わせ管理ツールを活用することで、対応漏れを防ぎやすくなります。
仮にフォーム送信後に自動返信メールを設定しておけば、送信者側にも届いたことが伝わり、信頼感を高めることができます。
とくにGmailだとメールが届かないというトラブルが発生しやすいため、定期テストは欠かせません。
スパムを減らした環境で運用の仕組みも整えることで、問い合わせ対応を本来の業務に集中できる体制へと変えていきましょう。
お問い合わせフォームの迷惑メール対策をした話

筆者が転職ブログを運営していたころ、Contact Form 7を使ったお問い合わせフォームに迷惑メールが届くようになりました。
最初は数通だったものが、気づけば毎日のように英語のスパムが届く状態になっていました。
一瞬ハッキングされているのではないかと不安になり、慌てて対策を調べ始めたことを覚えています。
最初に試したのは、すべての項目を必須にすることです。
電話番号や会社名まで入力必須にしたのですが、スパムボットは適当な文字列を入力して送信してくるため、ほとんど効果はありませんでした。
次にreCAPTCHAを導入しました。 スパムは減ったものの、画面右下に表示されるアイコンが気になりました。
CSSで非表示にする方法もありましたが、Googleのガイドライン上のリスクを考えてそのままにしました。
続いて、functions.phpを編集して日本語以外の送信を弾く設定を加えました。
英語のスパムはほぼ止まりましたが、今度は日本語に変換した文字列を使ったスパムが届くようになりました。
最終的に効果があったのは、Contact Form 7のクイズ機能です。
日本人なら誰でも答えられる簡単な質問を設置し、正解しなければ送信できない仕組みにしたところ、海外からの迷惑メールがぴたりと止まりました。
見た目がやや素朴になるのは否めませんが、追加プラグインなしで実装できる対策として、今でも有効だと感じています。