エス技研

WordPress、CakePHP、PHP、baserCMSなどの Web系システムを中心に情報を提供します!


WordPressのフォームプラグイン「MW WP FORM」でメールが送信できない不具合の対応方法

      2019/03/02

MW WP FORMで「There was an error trying to send your message. Please try again later.」のエラーが出てメールが送信できない!ときの対応方法

 

MW WP Formはメールフォームを作るのに最適なプラグイン

 
MW WP FORMは、WordPressのプラグインで、管理画面とお問合せ内容の管理をする仕組みがあるお問い合わせフォームを設置しようとする際に利用するプラグインです。
 
よく練られた機能が搭載されていて、拡張性も高く、多様な仕組みのお問い合わせフォーム構築に対応できるプラグインです。
 
 
そんな便利なプラグインなのですが、やっぱり、設定を間違ってしまうとエラーが出てしまいます。当たり前ですが。
 
そのエラーの一つに、「メールが送信されない」というものがあります。
 
お問合せフォームを作っても、メールが送信されないのでは全く役に立ちません。
この記事ではそんな「メールが送信されない」というエラーが出たときの対処方法のいくつかを紹介します。
 
 
MW WP Formの使い方に関しては下記に記事を書いていますので、参考にしてください。
MW WP Formの使い方詳細解説・WordPressの確認画面付フォーム
 
 

「自動返信メール設定」の「本文」に何も入力がない場合

 
01_WordPressのフォームプラグイン「MW WP FORM」でメールが送信できない不具合の対応方法
 
フォームの設定画面の右側には、お問い合わせフォームから自動返信メールを送信するための設定をする項目が並んでいます。
 
上の方が「自動返信メール設定」で、フォームに入力を行ったユーザ宛に送信するメールに関する設定を行うエリアです。
 
その下にあるのが「管理者宛メール設定」では、管理者宛に送信するメールに関する設定を行うエリアです。
 
 
このうち「自動返信メール設定」の「本文」に何も入力がない場合は、「There was an error trying to send your message. Please try again later.」のエラーが表示され、データベースにも値が保存されません。
 
下記のオフィシャルサイトにも説明がありますが、「本文」に何も入力がない場合は、「メールを送信する必要がない」と判断し、エラーメッセージを表示するようになっています。
 
https://plugins.2inc.org/mw-wp-form/faq/
 
 
MW WP Formの動作検証などで、まずは動作させることを目的としている場合などは、最低限の設定だけをして、「本文」を入力していない場面などもあるでしょう。
 
そんな時は「本文」を入力すると動作するようになるかもしれません。
 


 

</form>タグを記述するとメールが送信されない

 
02_WordPressのフォームプラグイン「MW WP FORM」でメールが送信できない不具合の対応方法
 
上記のように、フォームの編集エリアに「</form>タグ」を記述するとエラーでメールが送信できなくなります。
 
 
03_WordPressのフォームプラグイン「MW WP FORM」でメールが送信できない不具合の対応方法
 
理由は、上記の赤の網掛けのエリアに入力した情報に対して、その前後に「<form>」「</form>」タグが自動的に編集されます。
加えて、フォームで使用する「トークン」と「リファラー」の情報を hiddenの値として編集しています。
 

 
具体的には、上記の 1行目、5~7行目の部分が追加されます。
(実際のソースの 5~7行目は改行されていませんが、見やすくするため改行を入れています。)
 
そのため、フォーム編集エリアに「</form>タグ」を編集すると、それ以降のトークンとリファラーの情報の受け渡しが行われず、「There was an error trying to send your message. Please try again later.」のエラーにつながります。
 
先に HTMLソースを制作し、それを WordPressに組み込んでいく、という作業をする場合に、「<form>」「</form>」タグの消し忘れは起こりえる可能性がありますので、改めて確認をしてみてください。
 
 
また、編集するとエラーになるのは「</form>」の終了タグ側だけで、「<form>」の開始タグを編集しても不具合にはなりません。(「<form>」タグが二重になりますので、「<form>」も入れていいわけではありませんが。)
 
 
ちなみに、トークン、リファラーは、セキュリティ関連のCSRF(cross-site request forgeries。クロスサイトリクエストフォージェリ)対策のための処理に使われます。
 
 

そもそもメール送信プログラムが設置されていない

 
上記 2つのメールが送信されない原因について解説しましたが、そもそもメールを送信する設定が正しくない、という場合もあります。
 
具体的には、WordPressを設置したサーバ環境にメールを送信するプログラム(sendmail)が設置されていない、ということが考えられます。
 
 
その場合は、「WP Mail SMTP」などのプラグインを利用して、まずは、メールが送信できる環境があるか、を確認してみましょう。
 
「WP Mail SMTP」については下記に記事を書いていますので参考にしてください。
WP Mail SMTP、WP SMTP、Easy WP SMTPでWordPressのメールのスパム判定を回避
 
 

「There was an error trying to send your message. Please try again later.」のメッセージは MW WP Form 3.2.0で実装

 
今回、この記事で紹介している、メールが送信されない場合に表示される「There was an error trying to send your message. Please try again later.」というメッセージですが、これは、MW WP Form 3.2.0で実装されたメッセージです。
 
ですが、これは、メール送信処理が大きく変わったということではなく、エラー時にメッセージを出すようにした、という変更です。
 
そのため、MW WP Formをアップデートしたらいきなり出るようになった、という場合は、もともとメールが送信できていなかった可能性がある、ということです。
 
3.2.0以前は、エラーがあってもメッセージを出していなかったのですが、3.2.0でエラーがある場合はメッセージを出すようにした、ということだそうです。
 
詳しくは下記を参照。
https://ja.wordpress.org/support/topic/mw-wp-form%E3%81%AE%E9%80%81%E4%BF%A1%E3%82%A8%E3%83%A9%E3%83%BC%E3%81%AB%E9%96%A2%E3%81%97%E3%81%BE%E3%81%97%E3%81%A6/

 - WordPress

GoogleAdwords

GoogleAdwords

最後までお読みいただきましてありがとうございます。
この記事が参考になったと思いましたらソーシャルメディアで共有していただけると嬉しいです!

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

下記の空欄を埋めてください。 * Time limit is exhausted. Please reload CAPTCHA.

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

※入力いただいたコメントは管理者の承認後に掲載されます。

  関連記事

WordPressのカテゴリ単位・フォルダ単位でBasic認証を設定する方法

カテゴリ単位でBasic認証を設定する方法の解説。WordPressのカテゴリはフォルダの実態がないですが、実は簡単な方法でプラグインも使わずにBasic認証を設置できます。

WordPressに Favicon(ファビコン)を設定する(プラグイン必要なし)

WordPressに Favicon(ファビコン)をプラグインなしで設定する方法をサンプルソース付きで説明します。

Author hReviewでWordPressに構造化されたレビューサイトを構築

レビューサイトを構築するためのプラグイン。レビューの入力とレビュー対象のアイテムの情報を構造化データにするHTMLを編集する機能を提供します。

WordPressで特定のURL、ページ、ファイル単位でBasic認証を設定する方法

WordPressはURLはmod_rewriteにより疑似的に作られていますが、特定のページ、特定のURL、ファイル単位でBasic認証を設定する方法を解説します。ツールも紹介。

P3(Plugin Performance Profiler)で負荷が高いプラグインを調査し表示スピードアップ!

まずは正確に現状把握を!P3(Plugin Performance Profiler)を使ってプラグインの処理時間を確認!簡単操作で対応すべきプラグインが一目瞭然になります!

PoeditでWordPressの日本語対応方法。英語プラグインの日本語翻訳ファイル作成

プラグインの日本語化の手順のまとめ。.pot、.po、.moファイルの解説や便利ツールの Poeditの紹介を行いつつ、手順、ファイル設置場所、注意ポイントなども紹介。

ショートコード+ウィジェットでサイドバーに人気記事を表示させる方法

WordPressのサイドナビゲーションに人気記事を編集する方法です。プラグインを使わずウィジェットにショートコードで任意のPostIDを指定することで編集する方法です。

WordPress 画面が真っ白になる対応の一つ デバッグモード

WordPressで画面が真っ白になる不具合があった場合などのために用意されているデバッグモードの解説です。

Advanced Custom Fields管理画面の全項目完全解説・カスタムフィールド決定版!

カスタムフィールドを設定する最高のプラグイン。設定できる項目を全て網羅して解説。投稿の項目だけではなく、カテゴリやユーザ情報の項目を増やすことにも使えます。

WordPress 任意のファイルを読み込むショートコードの処理

投稿ページにショートコードを利用して任意のファイルを読み込む処理の解説です。