Contact Form 7が送信できない時の解決方法 (オレンジ枠・くるくる回る)

セキュリティ/トラブル解決/プラグイン/お問合せフォーム
  1. ホーム
  2. セキュリティ
  3. Contact Form 7が送信できない時の解決方法 (オレンジ枠・くるくる回る)

お問い合わせフォームが送信できなくなっちゃった〜

ご相談を受けて調べてみたら、送信エラーはとてもいろいろな原因があることがわかりました。

今回は「オレンジ枠のエラー」と、「くるくる回りっぱなし」のエラーでした。
対策をまとめたので、同じトラブルに遭った方いらっしゃれば是非参考にしてください。

「メッセージの送信に失敗しました。後でまたお試しください。」の場合(オレンジ枠)

まず一つ目は、「メッセージの送信に失敗しました。後でまたお試しください。」というオレンジ枠のエラーメッセージが出る場合をご説明します。


「後でまたお試しください」っていうけど、もちろん何度試してもダメ。
このエラーメッセージは公式ホームページに詳しい解説があります。

エラーメッセージは色枠で囲まれており、その色によって意味が違います。

正常
黄色 バリデーションエラー。
「必須」を入れていないなど、入力項目にミスがある場合。
オレンジ スパムエラー。
短期間に大量に送信されるなど、迷惑行為ではないかと疑われた場合。
送信失敗。
メールサーバーのトラブル。さまざまな原因がありそう。

今回は、オレンジ色だったのでどうもスパムと判定されて弾かれているようです。
私が手入力しているのに、なんでスパム扱いなんでしょうね??原因を調べました。

Really Simple CAPTCHAを reCAPTCHAに変更

このサイトでは、スパム対策として「Really Simple CAPTCHA」というプラグインを使っていました。

「Really Simple CAPTCHA」とは、お問い合わせフォームに簡単な画像認証機能をつけることができるプラグインです。

https://ja.wordpress.org/plugins/really-simple-captcha/より引用

Contact Form 7を作った方(Takayuki Miyoshiさん)が作ったプラグインなので安心して使えるのですが、Contact Form 7はバージョン4.3からは「Really Simple CAPTCHA」よりもGoogleのreCAPTCHを推奨するようになったとのこと。

これからは reCAPTCHA が Contact Form 7 の推奨 CAPTCHA になります。

https://contactform7.com/ja/2015/09/17/contact-form-7-43/

Really Simple CAPTCHAが不具合の原因ではありませんが、この機会にreCAPTCHAに変更することにしました。

reCAPTCHAのキーを再取得・再設定

reCAPTCHAとは、Googleアカウントを持っている人なら誰でも使えるスパム対策です。

英語なので一瞬戸惑いますが、設定は簡単です。
登録すれば「サイトキー」と「シークレットキー」がもらえるので、それをContact Form 7に設定するだけです。
詳しい設定方法は公式ページのマニュアルをご参照ください → https://contactform7.com/ja/recaptcha/

今回のオレンジ枠エラーは、reCAPTCHAの再設定をすることで改善しました!
スパム認証のフローに何らかのトラブルがあったのかもしれませんね。

(詳しくいうと・・・→1)Contact Form 7のreCAPTCHA設定を一旦削除、2)reCAPTCHAの登録キーも削除し、3)キーを取得し直して、4)Contact Form 7に再設定したらオレンジのエラーは治りました♪)

OKのサイン。ホッとしますなー。

なぜかオレンジのエラーが出てなおらない!という人は、「スパム判定周り」が原因の可能性が高いです。reCAPTCHAの再設定など、ご自身のサイトのスパム判定を確認してみてくださいね。



続いて、もう一つのケースをご説明します。

くるくる回ったまま送信できない場合

「送信する」を押しても、くるくるくるくる・・・・・「送信中」みたいな状態で、ずーっと止まったまま応答がない、なんて状況になりました。

(この時、flamingoには登録が反映されているのにメールが届かないという症状でした)

テーマとプラグインをOFFにして原因を探す

この現象について、公式マニュアルでは以下のように回答されていました。

こういった問題はプラグイン間、またはテーマとの衝突が原因でよく起こります。試しに他のプラグインをすべて停止して、テーマをデフォルトテーマに戻してみてください

https://contactform7.com/ja/faq/the-spinning-arrow-icon-shows-up-once-i-submit-a-form/

プラグインやテーマの影響をチェックするのはトラブル対応の基本ですね。

Contact Form 7以外のプラグインを停止、デフォルトテーマに変更してみたのですが・・・今回のケースでは改善がありませんでした

すると、WordPress本体・テーマ・プラグインが原因ではない可能性が考えられます。

ということは、サーバーが原因でしょうか?

サーバーのWAFをOFFにしてみる

レンタルサーバーには「WAF」(ウェブ アプリケーション ファイアウォール)というセキュリティ機能がよくあります。これが影響する場合があるのでOFFにしてみましたが・・・うーん、症状は変わりませんでした。

APIが制限されていないか?

サーバーだけでなく、プラグインなどでもセキュリティでアプリに制限をかけることができます。
念の為、サイトにAPI制限の設定がされていないかも確認してみてください。
・・・今回は、これもありませんでした。

パーマリンク設定を再保存

ほかに対策を調べていると「パーマリンク設定を再保存したら治った」という声がちらほらありました。私の場合は影響なかったですが、どうしても治らない方は試してみる価値はありそうですよ。

Settings > Permalinks, then click “Save Changes” this should fix your problem

https://wordpress.org/support/topic/contact-form-7-invalid-json/

こりゃ困った、なかなか治らない・・・ということで、どんなエラーが出ているのか詳しく調べてみることにしました。

デベロッパーツールでエラーメッセージを確認

エラーメッセージを確認しましょう。
まず、お問合せフォームに適当に入力してくるくるが出ている状態にします。

そして、くるくるを出したまま、Chromeのデベロッパーツールを開き、「Console」タブを開いてください。するとエラーメッセージが確認できます。

こんなかんじ。

すると、このようなメッセージが出ていました。

code: 'invalid_json', message: 'The response is not a valid JSON response.

invalid(無効)?
valid(有効な)JSONの応答ではありません?

・・・ちょっと何言ってるかよくわからないな(サンド)

要は、なんかしらんけど応答がない(正しくない)と言っているのですけど、正直これだけではようわからんですね・・・。

そんな時はこのエラーメッセージ+「Contact Form 7」などのキーワードで検索します。ひたすらググります。

サーバーに問い合わせる

検索してみると、さまざまな状況で同じメッセージが出るようで原因の特定がなかなかできません。
しばらくして、こちらのブログを見つけました。

送信完了しない!?それはお名前ドットコムのサーバーが原因!https://alcuesto.jp/blog/contactform-onamae

全く同じ状況です。クライアントさんのサーバーもお名前.comだったので・・・まさか・・・何か手がかりがないかとお名前.comへ問い合わせてみました。

すると・・・。

お問い合わせの件につきまして確認いたしましたところ2022年1月13日にフォームメール制限対象となっている状況でございます。

えー!!やっぱりサーバー側で制限が入ってたんですね!!
こんなこともあるんですね・・・。

制限が入った理由ははっきり教えてもらえませんでした。
しかし、その日付前後のアクセス解析ではお問い合わせページに数千件のアクセスがあったことがわかりました。スパム攻撃を受けたのかと思われます。

しかし、このような利用制限が入る場合は、必ずサーバー側から連絡が来ているはずです。
お名前.comの場合、以下のようなタイトルのメールが届きます。

件名:【重要】[お名前.com] レンタルサーバーのご運用につきまして

サーバーからのメール、大事なものもあるのでちゃんとチェックしてくださいね!

まさかサーバーの利用制限とは思いませんでした。記事に残してくれたエールクエストさん、ありがとうございます!(なので私もブログに残すことにした次第)

制限を解除してもらう方法

じゃあ早く制限を解除してください!とお願いすれば終わり・・ではありませんでした。

不正アクセスのせいでサーバー負荷が大きくなり、制限がかかったのですから、それが「改善したという根拠」がないと解除してもらえませんでした。

ここは担当の方との相談次第なのですが、今回は「reCAPTCHAを最新にしたこと」、「ここ最近のアクセス数は安定していること」を伝え、念の為「FTP・サーバーパスワードを変更する」ことで、解除してもらえることになりました。・・・ふう、長かった。

お名前.comの電話窓口は、平日10:00〜8:00のみ(2022年2月現在)
営業時間を短縮しており、電話がとても繋がりにくくなっていましたのでご注意ください。

お問い合わせフォームからの問い合わせでも、翌日にはお返事がいただけましたよ。迅速です!

まとめ

お問い合わせフォームが使えないなんてホームページにとっては大問題ですよね。

でも、お問合せフォームって自分では使わないので、なかなか気づきづらいもの。
今回もお客様側で事象を認識するまでだいぶ時間が空いていました。

サーバーからのお知らせ、時には大事なものもあるのでタイトルだけでもチェックしてくださいね!

せっかくのお問い合わせ、取りこぼしたら大変です!

この事象をふまえ、今後どのようなセキュリティ対策が必要か、もご紹介していきますね。