MW WP Formでメールが飛ばないと思ったらformがいらなかった
メールお問い合わせのフォームはいつもcgiとか自社製システムとか使ってたのですが、今回の案件でプラグイン「MW WP Form」を使ってフォームを設置しハマってしまいました。
「MW WP Form」が飛ばない原因としてみつけた情報に
・wp_head(); / wp_footer();が入ってない
・SMTPの設定が別途必要な環境だと「WP Mail SMTP」で設定し直す
などありましたが、wp_head(); / wp_footer();は当然入れてますし、管理画面から管理者宛にメールも飛んでるのでwp_mail()も正常に動いてるので別途SMTPは必要ないはず。
ってことでどこでエラーが発生してるのかサーバーのログを見るも、そもそもメール自体がページから飛んでないっぽいんですね。
そこでお問い合わせ用に生成されてたソースを眺めていたら気づいてしまいました。
空の<form>タグがある。。。
通常メールの機能を使うのであればformのaction属性に設置したパスに情報を飛ばすのですが、「MW WP Form」の仕組みとしてはformのaction属性を使ってないっぽいんですね。ってことで意味のないformタグを設置していたばかりにメール自体がサイトから飛ばない状況になってたようです。
毎回WordPressに組み込む前にローカルでコーディングしてformタグまで設置してしまい、環境によってaction属性を設定してますが、今回formを使ってないのにそのまま残してしまったのが原因でした。
同じような状況でメールが飛ばないなんて焦っている人のお役に立てれば幸いです。