WordPress

Contact Form 7でメールが送信できない

WordPressのお問い合わせフォームとしてインストールしていたContact Form 7でメールが送れないと相談を受けたので調べたメモ。

Contact Form 7はこちら

症状


メールを送信しようと送信ボタンをクリックしたところ、くるくると送信中の矢印が延々と回り続けて送信が完了しない、という状況。

また、送信ボタンを押す前はchromeのデベロッパーツールには何のエラーも表示されないのに、
クリックをすると下記のようなエラーが表示されました。

Contact Form 7のバージョンが5.3の場合
POST https://example.com/wp-json/contact-form-7/v1/contact-forms/125/feedback 500 (Internal Server Error)

Contact Form 7のバージョンが5.2.2の場合(バージョンをダウングレードしてチェックしてみました)
Failed to load resource: the server responded with a status of 500 (Internal Server Error)

補足:調べていると403エラーもある

メールが送信できない場合のエラーは他にもいろいろあって、403エラーの時もあるみたい。
もし403の場合は「Rest API」の設定が無効になっているかもしれないので、一度そちらをチェックしたほうがよさそう。
参考:【エックスサーバー】ContactForm7でメール送信ができない場合の対処法

今回は500エラーなので別の解決方法を探していく

Contact form 7: 500 (Internal Server Error)

こちらに開発者さんのアンサーがあったので、日本語ページの方をリンクしておく。
フォームの送信後、回転する矢印のアイコンは現れるのですが、それっきりで何も起きません。

どうして全プラグインを無効化してデフォルトテーマに切り替えるよう勧められるのか

プラグインやテーマが干渉してエラーを起こしているのではないかということです。

プラグインとテーマをチェックする

ということで、プラグインを無効化してはフォームをチェックする、という流れを一つずつ行いました。
プラグインは問題なかったので、今度は使用しているテーマを一度別のテーマしてみたところフォームのエラーが改善された

今回の原因はテーマだった

テーマがいけないということだったので、あとはテーマの中で修正したところを順にチェックし、functions.phpに原因のコードがあるのを発見したので削除したところ解決しました。

他にもお問い合わせフォームを設定する際の「送信先」や「送信元」の記述が良くないせいで送れなかった、という場合の記事もありましたので、ひとつずつ確認していくのが良さそうです。

  • この記事を書いた人

ゆず

忘れないように自分の覚書と、誰かも困っているかもしれないので参考になればいいなくらいの軽い備忘録です。
一杯おごる

-WordPress
-