メールフォームプラグインV1.20(その10・メール本文のカスタマイズ)

フォームから送信されるメールの文面も、必要に応じてカスタマイズすることができます。
今日はその方法を解説します。

2007年2月3日
MTMailBodyContainerタグの記述が抜けていたので追加しました。

1.メール本文用テンプレートの作成

メールの文面をカスタマイズするには、そのためのテンプレート・モジュールを作ります。これを「メール本文用テンプレート」と呼びます。

テンプレート・モジュールを新規作成し、「モジュールの内容」の欄に、メールの文面を入力します。
また、モジュールの名前は任意です。

このテンプレートの中では、MTMailPreviewXXタグを使って、フォームに入力された値を出力することができます。
ただし、その場合はメールの文面をMTMailBodyContainerタグで囲みます。

例えば、以下のような形式でメールを送信するようにしたいとしてください。「[]」で囲んだ部分を、フォームで入力された値に置き換えたいとします。

●メールアドレス
[メールアドレス]
●年齢
[ageというフィールドの値]
●本文
[本文]

この場合、メール本文用テンプレートを以下のように作ります。

<MTMailBodyContainer>
●メールアドレス
<$MTMailPreviewEMail$>
●年齢
<$MTMailPreviewExtParam name="age"$>
●本文
<$MTMailPreviewBody$>
</MTMailBodyContainer>

2.メール本文用テンプレートの名前の指定

メール本文用テンプレートを作ったら、メールフォーム/送信前確認/送信エラーの各テンプレートのフォーム部分に、以下のようなタグを入れます。

<input type="hidden" name="mail_body_template" id="mail_body_template" value="メール本文用テンプレートの名前" />

なお、メール本文用テンプレートを指定しない場合、以下のようなフォーマットでメールが送信されます。
「[]」で囲んだ部分は、フォームで入力された値に置き換えられます。

題名 :[題名]
送信者:[送信社名] <[メールアドレス]>
本文 :
[本文]
追加フィールド:
[フィールド名] = [フィールドの値]

3.前後のエントリー

メールフォームプラグインは解説が長いので、エントリーを複数に分けています。
前後のエントリーは以下のリンクで参照することができます。

前のエントリー(その9・自動返信)
次のエントリー(その11・メールフォームのAjax化)

また、サイドバーの「関連するエントリー」の箇所に、メールフォーム関連のエントリーの一覧が表示されていますので、そちらもご利用ください。