2007年1月27日
メールフォームプラグインにクロスサイトスクリプティングの脆弱性等の不具合が見つかりました。申し訳ありません。
こちらのエントリーをご参照の上、最新版にアップデートしてください。
2007年1月23日
メールフォームプラグインのバージョン1.20を公開しました。
解説も更新しましたので、こちらのエントリーをご参照ください。
今回のメールフォームプラグインでは、メールフォームに任意のフィールドを入れることができます。
今日は、それらのフィールドで入力された値を、メールに入れて送信できるようにする手順を解説します。
1.メール本文用テンプレートの作成
従来のメールフォームプラグインでは、メールフォームの本文のフィールドに入力された値が、そのままメールの本文として送信されました。
しかし、今回のプラグインでは任意のフィールドを追加することができるので、それらに入力された値もメールに入れて送信することが必要になります。
そこで、今回のプラグインでは、メール本文のテンプレートを作成し、そのテンプレートに基づいた形でメールを送信するようにしました。
メールのテンプレートは、テンプレートモジュールとして作成します。
このテンプレートの中では、MTMailPreviewXXタグを使うことができます。
例えば、以下のような形式でメールを送信するようにしたいとしてください。「[]」で囲んだ部分を、フォームで入力された値に置き換えたいとします。
●メールアドレス [メールアドレス] ●年齢 [ageというフィールドの値] ●本文 [本文]
この場合、メール本文用テンプレートを以下のように作ります。
●メールアドレス <$MTMailPreviewEMail$> ●年齢 <$MTMailPreviewExtParam name="age"$> ●本文 <$MTMailPreviewBody$>
2.メール本文用テンプレートの名前の指定
メール本文用テンプレートを作ったら、メールフォームの部分に以下のようなタグを入れます。
<input type="hidden" name="mail_body_template" id="mail_body_template" value="メール本文用テンプレートの名前" />
なお、メール本文用テンプレートを指定しない場合、メールの本文のみが送信され、それ以外のフィールドの値は送信されません。





コメントはスレッド表示になっています。
また、スレッドの先頭のコメントに対する返信には、先頭に矢印を表示しています。
2.メール送信用テンプレートの名前の指定
のところの
name="メール本文用テンプレートの名前"
は
value="メール本文用テンプレートの名前"
が正しいですね。
小一時間悩みました・・。でも便利になって助かってます。
>ktさん
こんにちは。
エントリーの間違いをご指摘いただき、ありがとうございました。
すごく見づらいページデザインで、説明は細切れだし、さっぱりわかりません。
>tuさん
こんにちは。
ページ先頭の「Utility」のメニューで、小粋空間等のテンプレートを選ぶこともできますので、見づらいのであれば他のテンプレートに変えて表示してみてください。
また、プラグインをバージョンアップしてきた関係で、説明が細切れになっていて、申し訳ありません。
時間ができたらpdfにでもまとめます。
メールフォームですが、
ラジオボタンなど使えるでしょうか?
たとえば、職業を学生、主婦、会社員などからひとつラジオボタンで選んだ場合、
メールの確認previewで
で、会社員を選んでいればvalue="会社員"の値を表示してくれるのでしょうか?
また、確認フォームでは選択したラジオボタンがチェックされているのか?
試してみればいいのかもしれませんが、
出来るか出来ないかだけでも教えていただけると、
ありがたいです。よろしくお願いします。
>azさん
こんにちは。
ご希望のようなことは、現状のバージョンではできません。
次回のバージョンアップの際に対応します。
ありがとうございました。
MTにまだ不慣れで、
思ったように動いてくれない毎日ですが、
このサイトもとても頼りにしています。
今後も、
よろしくお願いいたします。
2.メール送信用テンプレートの名前の指定のところの
value="メール本文用テンプレートの名前"
は
value="メール送信用テンプレートの名前"
ということでいいのですか?
ちょっと混乱してしまいました。
メール送信用テンプレートを”send”とし
value="send"
としてメールフォームに追加したのですが、送られてくるメールには本文のみしか表示されません。
対応策を教えていただけないでしょうか?
よろしくお願いいたします。
ご返答ありがとうございました。
自分の勘違いでした。
うまく修正出来ました。
ところで、
メールフォーム作成用プラグイン(汎用フォーム対応/MT3.3対応・その2)
で記述してある
「name="メール本文用テンプレートの名前"」
で、フィールドにもそれぞれの設定をするのだと勘違いしてしまいました。
今回は丁寧に対応していただきありがとうございました!
こんにちは、はじめまして。
項目を追加して
value="メール送信用テンプレートの名前"
を追加したのですが、メール送信用のページが丸ごとHTML形式で受信されてしまいます。
どこか問題があるのでしょうか?
>takeさん
こんにちは。
おそらく、valueにメールフォームのテンプレートの名前を指定されていると思います。
そうではなく、メールの本文を出力ためのテンプレートを別途作って、そのテンプレートの名前を指定してください。
こんにちは無事解決いたしました。
迅速な対応どうもありがとうございます。