Contact Form 7 を 4.8.1 に更新するとフォームからのメール送信不能に

本記事は最終更新日より 1 年以上経過しております。
スポンサーリンク

 以前にも似たような事があったような無かったようなと更新直後に不具合が良く起こる Contact Form 7。便利なのでそれでも使っている状態。
 一応プラグインの更新直後には動作チェックをするようにしていたけど、今回は問題発生。

 発生する現象としてはメール送信ボタンを押してもボタンの右側で矢印がクルクル回るだけで一向に画面の遷移がしない。んでもってメールも送信されていないという物。
 内部的には何が起きているのかなとログを調べる。

192.168.1.x – – [25/Jul/2017:16:52:53 +0900] “POST /wp-json/contact-form-7/v1/contact-forms/3907/feedback HTTP/2.0” 401 103 “https://bucci.bp7.org/contact” “Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.112 Safari/537.36 Vivaldi/1.91.867.48” “-” 0.128

 データを POST した際にステータスコード 401 Unauthorize を返している。
 この原因としては WordPress で非同期処理を行う Rest API が無効化されているからかと思われるが、当ブログで使っている Simplicity2 は Contact Form 7 など主要な一部プラグインに限って Rest API を使うようにしているようだ。

WordPressのREST APIを無効化しつつ特定プラグインは動作するようにカスタマイズする方法
REST APIを無効にしていたら、JetpackやContact Form 7が使えなくなってしまった…なんて場合の対処方法です。REST APIは無効化したまま利用したいプラグインのみをホワイトリスト方式で指定できます。

 Contact Form 4.8.1 に更新することで何らかの仕様が変わったのか調べても居ないが取り敢えずメール送信出来なくなってしまったので、4.8.0 をダウンロードしてファイルを上書きすることでロールバックした。
 これにより今まで通りにメール送信が可能となった。

 今回は複合的な要因によってメール送信が出来ない状態となっているように思えたので、とりあえず正常に動いていた状態に戻すことで対応する事で済ませた。

スポンサーリンク