WordPressでサイトを構築されているところでしたら、お問い合わせフォームにContactForm7を使っているところも多いかと思います。

そのContactForm7で突然送信ができなくなるといったトラブルが起こっているようです。

以下、その解消法の一つをお伝えします。

突然送信できなくなった原因はreCaptchaによるスパム判定

Contact Form7バージョン5.1.1より、様々な変更があったようです。開発者のブログは以下。

Contact Form 7 5.1.1

reCAPTCHA v3 を使っているウェブサイトの一部において 5.1.1 で行われた変更の副作用的な影響をこうむることが予想されます。そのようなケースでは、フォーム送信後毎回、オレンジ色の枠線に囲まれた応答メッセージを見ることになるでしょう。

Screenshot image of a response message with orange border.
Orange Border Response

オレンジの枠線は reCAPTCHA のようなスパム対策モジュールによってスパムらしい活動が検出されたことを示しています。オレンジの枠線を毎回目にするというのは、あなたが本物のスパムボットだというのでもない限り、明らかに異常なことです。

もし 5.1.1 へのアップグレード後にそのような状況に陥ったなら、使用しているテーマが適切に JavaScript を各ページのフッター部分にロードしているかどうかを確認しましょう。

wp_footer() の呼び出しを不適切に削除してスクリプトのロードを阻害するテーマの存在が知られています。これはテーマ開発における最悪の慣行の一つであり、上に説明したような問題を確実に引き起こします。あなたのテーマでこのような問題が見られる場合はテーマ作者に修正を求めてください。

変更点

  • reCAPTCHA: 中身のない応答トークンへの対処を変更。

要はWordpressテーマ内のJavascript処理が適切でなく、かつreCaptchaを使っている場合スパム判定になりますよってことでしょうか?

スパム判定を回避するためには

  • WordPressテーマを適切に修正する
  • reCaptchaの使用をやめる
  • Contact Form7を前バージョンに戻す

この3つの対策が考えられます。テーマの不具合はテーマそれぞれですのでなんとも言えないですよね。あと、reCaptchaをやめるのもスパムメール防止のためにはちょっといかがなものかと思います。

なので前バージョン(Contact Form7 ver.5.1.0)に戻す一番簡単な方法をお知らせします。

プラグイン『WP Rollback』を使ってダウングレードする

Contact Form 7のプラグインページからダウングレード版をダウンロードして、FTPで再アップロードするなどの方法もあるのですが、WP Rollbackというプラグインを使うのが一番手っ取り早くて、技術者でなくても簡単にできるのでおすすめです。

「プラグイン」→「新規追加」→検索窓にWP Rollbackと入力して「今すぐインストール」→「有効化」します。

そうするとインストール済みプラグイン一覧に「Rollback」の文字が表示されますので、それをクリックしてダウングレードしたいバージョンを選択するだけです。

Rollbackスクリーンショット

バージョンを選んで左下のRollbackを押して、再度中央のRollbackボタンを押す。

以上になります。

急にContactformからメールが届かない→バージョンが5.1.1以降である&reCaptchaを使っている

という人は確認されたらいかがでしょうか?