最近、「お問い合わせフォームが攻撃されて大量の迷惑メールが飛ぶようになった」という相談が増えています。多いケースだと1日100件程度まで膨らみ、通常業務のメールが埋もれて見逃しにつながります。
このページでは、WordPressで構築されたお問い合わせフォームの迷惑メールをまず止めるための現実的な対策を、最新版として整理します。
スパムメールのデメリット
大量にメールが送信されると、業務に重要なメールを見逃してまう可能性が高くなるので、すぐに対策を講じる必要が出てきます。大量にスパムメールが送られると重要なメールを見逃してしまうこと以外にも、Webサイトを運営していく上でデメリットも多く生じます。
サーバーリソースの消費
ボットによるフォーム連投やメール送信処理が増えると、CPUやメモリ、同時処理数などのリソースが圧迫され、サイトの表示速度や安定性に影響する可能性があります。結果としてユーザー体験の低下や、間接的にSEOへ悪影響につながることもあります。
メールの送信制限
ホスティングサービスには送信数の上限が設けられている場合が多く、迷惑メールが増えることで上限に達し、正当な通知メールや問い合わせ返信が送れなくなることがあります。
スパム判定(到達率低下)
大量送信が続くと送信元の評価(レピュテーション)が悪化し、正当なメールまで迷惑メール扱いされやすくなる可能性があります。
セキュリティリスク
フォームスパムそのものが直ちに乗っ取りを意味するわけではありませんが、フォームや関連プラグインに脆弱性がある場合、攻撃の入口として悪用されるリスクがあります。アップデートやWAFなどの基本対策も併せて実施することが重要です。
「スパムメールが大量に送られている」=ただちに「サイトが乗っ取られている」という事ではないのですが、そのため、被害が拡大する前に“切り分け”は必須です。
まずやるべき切り分け
フォームにスパム投稿が来ているだけか?
→ 件名や本文が同じパターンで大量、送信元IPが海外に偏る、などが典型サーバーが勝手に大量送信しているか?(より危険)
→ 送信ログが異常、フォーム未入力でも送信が発生、同一時間帯に連続送信、など
この場合は、フォーム対策だけでなく侵害対応フローに入るのが安全です。
対応策
最も手早く効果が出やすい対策は、フォームに CAPTCHA(ボット判定)を導入することです。ボットによる自動送信が原因であれば、これだけで迷惑メールが大幅に減るケースが多くあります。
代表的な選択肢として Google reCAPTCHA があり、フォームやログインページに組み込むことで、自動化された攻撃を判定・抑止できます。
reCAPTCHAには複数の方式があり、従来の reCAPTCHA v2 は「私はロボットではありません」のチェックや、場合によっては画像選択などの操作が必要になることがあります。
一方 reCAPTCHA v3 は、ユーザー操作を求めずにバックグラウンドで挙動を評価し、リクエストごとにスコアを返す仕組みです。スコアに応じて「送信を許可する/制限する/追加確認へ回す」といった対応をサイト側で決められるため、ユーザー体験を損ねにくいのが特長です。
なお、Contact Form 7を利用している場合は、2026年時点では Cloudflare Turnstile も有力な選択肢で、開発元が推奨しています。
reCAPTCHAの設置
WordPressのお問い合わせフォームは、現在も Contact Form 7 が主流です。
一方で、過去に広く使われた MW WP Form は、新規開発が終了しており、今後は脆弱性対応など最低限のメンテナンスが中心とされています。そのため、これから新しくフォームを作る場合は Contact Form 7 など別プラグインでの構築を推奨します。
スパム対策としては、これまで通り reCAPTCHA(v3) も有効ですが、近年は運用が Google Cloud 側の枠組みに寄っており、無料枠(例:月1万評価)を超えると課金対象になる点には注意が必要です。
なお、Contact Form 7 では Cloudflare Turnstile(CAPTCHA代替)も公式に統合機能が提供されており、reCAPTCHAに強い理由がなければ Turnstile を選ぶという判断も取りやすくなっています。
■既存サイトで MW WP Form を利用中の場合
MW WP Form は新規開発が終了しているため、新規構築では別手段を推奨します。一方で、既存サイトの当面の対策としては reCAPTCHA 連携の拡張を使う方法もあります。
CAPTCHAだけで止まらない時の“次の一手”
ボットが高度化していたり、人力スパム(手入力の荒らし)が混ざっている場合、CAPTCHAだけではすり抜けることがあります。そんなときは、次の対策を併用すると止まりやすくなります。
WAF・レート制限:同一IP/同一パターンの連投をブロックして、攻撃の“入口”を減らす
Honeypot:ユーザーには見えない項目を仕込み、ボットだけを検知して弾く
フォーム送信ログの保存:送信元IPや傾向を可視化し、原因特定と再発防止につなげる
SMTP送信+送信制限の管理:送信経路を整理し、万が一の大量送信時も被害を抑える(“サーバーから勝手に大量送信”系の切り分けにも有効)
なお、こうしたCAPTCHA以外の防御(WAFや上級のセキュリティ強化)は、設定の考え方や優先順位が分かると導入が一気にラクになります。詳しい実装・運用のポイントは、下記の記事で整理しています。
まとめ
いかがだったでしょうか。本記事では、WordPressのお問い合わせフォームに大量の迷惑メールが届く場合の、現実的な止め方を整理しました。
迷惑メールが増えたときは慌てずに、まずは CAPTCHA(reCAPTCHA/Turnstile など)を導入し、ボット送信を抑止するところから始めるのがおすすめです。
それでも止まらない場合は、人力スパムが混在していたり、WAF・レート制限などCAPTCHA以外の防御が必要なケースもあります。また、フォームを独自実装していて改修が難しい場合や、送信数が異常に増えて侵害の可能性を疑うべき状況もあります。
「何から手を付ければよいか分からない」「導入したのに改善しない」「原因の切り分けから相談したい」といった場合は、WPセンターまでお気軽にご相談ください。状況に応じて、最短で被害を止めるところからご一緒します。







