ある日たまたまお問い合わせフォームの調整をしているときに、Contact Form7を使っているお問い合わせフォームで、下記のようなエラーが表示され、メッセージが送信できなくなっていることに気づきました。
何度試してみても「メッセージの送信に失敗しました。後でまたお試しください。」と表示されてしまい、メッセージが送信できません。
色々調べてみた結果、今回はContact Form7のreCaptcha設定を削除する事によって、解決することができました。同じような状況になってしまっている方の参考になれば幸いです。
Contact Form 7エラーは枠色によって区別されている
まずはエラーの状況を確認します。Contact Form 7のFAQページを確認すると、下記のように記載されています。
2つのケースが考えられます。ひとつはメールサーバにおいて実際に問題が発生していて、そのためメールが送信できなかったケースです。この場合、エラーメッセージは赤色のボーダーラインで囲まれています。サーバー管理者に問い合わせてください。
もうひとつは、フォーム送信にスパムの疑いがあると判断されたケースです。この場合、エラーメッセージはオレンジのボーダーラインで囲まれています。
上記の内容を日本語でまとめると下記のようになります。
濃いオレンジ枠のエラー:スパムエラー(スパムメール機能が働いているため)
赤枠のエラー:メールサーバーのトラブルなどによるエラー
対策1:reCAPTCHAの設定のバージョン
色々調べてみると、スパムをブロックしてくれる対策ツール、「Akismet」などのプラグインを使っている場合、そしてGoogleが提供している「reCAPTCHAの設定のバージョンが古い場合にエラーが発生する」という情報があったので、Contact Form 7のreCAPTCHA設定を一旦削除して再度登録しました。
合わせて、Google reCAPTCHAの管理コンソール画面に入り、現在のバージョンが「v3」となっていることも合わせて確認しました。
しかし、残念ながらこの方法ではエラーは解消されませんでした。
対策2:Contact Form 7のreCAPTCHAを使用しない
さらに調べていると、Contact Form 7でreCAPTCHA設定を使用しているとこのエラーがおきるケースがあることがわかりましたので、今度はContact Form 7のreCAPTCHAからキーを削除して無効にしてみることにしました。
その後、現象を確認してみたところ、ちゃんとエラーが解消されてメッセージが送信されました。
ただし、この状況ではスパムメールなどの対策ができていない状態になってしまうので、なんらかの形で対策をしないといけません。そこで、プラグインを導入しreCAPTCHAの設定を別で行うことにしました。
「CAPTCHA 4WP」でreCAPTCHAを設定する
代替えとしてワードプレスのプラグイン「CAPTCHA 4WP」を導入します。
まずはプラグインの新規インストール画面で「CAPTCHA 4WP」を検索してから「今すぐインストール」→「有効化」と進みます。
すると初期設定ウィザードが表示されますので、画面の指示に従って進めていきます。
ステップ2では、Google reCAPTCHAのサイトキーを入力します。
ステップ3では、Google reCAPTCHAのシークレットキーを入力します。
ステップ4では、actionに「Take no action」を選択しました。
そして初期設定が完了します。
設定画面では、画面中央の「Language」だけ日本語に変更して、あとはデフォルトのままにしています。
Form Placements(有効にするページ)の選択ができるので、下記の中から必要に応じてチェックを入れて保存します。私は全部チェックを入れました。
その後、サイトを確認したところ、ちゃんとreCAPTCHAが表示されていることを確認できました。
まとめ
今回はContact Form 7のフォームが送信できない場合のエラー(オレンジ枠)解消方法についてまとめました。Contact Form 7エラーメッセージは、枠色によってエラー原因が特定できる仕組みになっています。どのような理由でエラーが発生するのかを確認して、対応を試してみてください。