メールフォーム作成用プラグイン(汎用フォーム対応/MT3.3対応・その3)

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="メール本文用テンプレートの名前" />

なお、メール本文用テンプレートを指定しない場合、メールの本文のみが送信され、それ以外のフィールドの値は送信されません。