MW WP Formでメールが飛ばないと思ったらformがいらなかった

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を使ってないのにそのまま残してしまったのが原因でした。

同じような状況でメールが飛ばないなんて焦っている人のお役に立てれば幸いです。