メールフォームプラグインでは、メールが短時間に連続して送信された時などに、送信エラーページが表示されるようにしています。
その際のエラーメッセージをカスタマイズする方法を解説します。
1.標準のエラーメッセージ
送信エラーページのテンプレートの中で、MTErrorMessageタグを使うと、メールフォームプラグインの標準のエラーメッセージを表示することができます。
2.エラーメッセージのカスタマイズ
エラーメッセージをご自分の好きなようにカスタマイズしたい場合、以下の条件タグを使ってエラーの発生を判断するようにします。
| エラー | 条件タグ |
|---|---|
| メールの送信に失敗したとき | MTMailIfSendError |
| 返信メールの送信に失敗したとき | MTMailIfAutoReplyError |
| 連続送信されたとき | MTMailIfThrottled |
| IPアドレスでブロックされたとき | MTMailIfIPBanned |
| スパムと判定されたとき | MTMailIfSpam |
たとえば、メールが連続送信されたときに、「短時間でのメールの連続送信はご遠慮いただいています。」のエラーメッセージを表示したい場合、送信エラーのテンプレートに以下のようなタグを入れます。
<MTMailIfThrottled> <p>短時間でのメールの連続送信はご遠慮いただいています。</p> </MTMailIfThrottled>
同様の手順で、他のエラーに対するメッセージもカスタマイズすることができます。




コメントはスレッド表示になっています。
また、スレッドの先頭のコメントに対する返信には、先頭に矢印を表示しています。
お世話になります。
メールフォームをカスタムして名前(フリガナ)や電話番号を入力させる項目を設けているのですが、カタカナや英数字の入力チェックはできないのでしょうか。
フリガナの欄はカタカナ以外の文字が入っていたらエラーに、電話番号の欄には数字以外が入っていたらエラーにしたいと考えています。
当初javascriptで実現させようとしていたのですが、javascriptを実行するタイミングが難しく断念しました。
何か良い方法がありましたらご教授ください。
よろしくお願いいたします。
>hiroyukiさん
こんにちは。プラグインご利用ありがとうございます。
ご質問のような件ですが、このプラグインにはそのような機能はありません。
フォームを送信する直前にJavaScriptを実行して(formのonsubmit属性)、エラーチェックするようにすれば良いかと思います。
壱様
回答ありがとうございます。
onsubmitを使えばよいのですね。今まで「確認」「送信」ボタンのonclickに埋め込もうとしていたのでうまくいかなかったようです。
もう一点、続けて質問になってしまって申し訳ないのですが、javascriptを使用した場合はやはり「MTErrorMessage」のエラーとは違うエラーになるという認識でよろしいでしょうか?
よろしくお願いいたします。
>hiroyukiさん
こんにちは。
JavaScriptでのエラー処理は、このプラグインの関知するところではありません。
表示するエラーメッセージも、JavaScriptで自由に組んでいただくことができます。
壱様
ご回答ありがとうございます。
いろいろとありがとうございました。
お世話になります。
最近はホームページを閲覧しないで、自動的にメールフォームから迷惑メール(特に海外から)が届いており、この対策をやりたいのですが、このプラグインの機能を駆使すれば可能でしょうか?
もし可能であれば、その方法をご教授いただけないでしょうか。
ちょうど、このコメントのように「特定のキーワード」を入力してもらい、そのキーワードが一致していない場合はエラーにするようにしたいと考えていますが・・・。
>海風さん
こんにちは。
このプラグインでは、MT標準のコメント/トラックバック用のスパム対策機能を流用するようになっています。
キーワードでスパムかどうかを判定するなら、MT標準の「SpamLookup - Keyword Filter 2.1」で、キーワードを設定します。
ちなみに、海外からの日本語を含まないメールを避けるなら、拙作のNotJapaneseLookupプラグインを使うのも1つの方法です。
http://www.h-fj.com/blog/archives/2005/10/08-110622.php
ありがとうございます。
さっそく試してみます。
ありがとうございました。
こんにちは。
メールアドレスの形式が正しくない場合に、<MTErrorMessage>タグを使用せずに「メールアドレスの形式が正しくありません」と表示したいのですが、方法はございますでしょうか。
フィールドを追加しているので、<MTErrorMessage>では思い通りのテキストにならず、個別にエラーを作成しているのですが、方法が分かりかねております。
何卒よろしくお願い致します。
>きなこさん
こんにちは。
ご質問の件ですが、「MTMailPreviewIfEMailError」というブロックタグで、メールアドレスの形式が正しくない場合に、エラーメッセージを出力することができます。
「その8」のエントリーに載っていたのを見落としておりました。
すぐにご返信頂きましてありがとうございます。