メールフォームプラグインでは、フォームから送信されるメールの文面も、必要に応じてカスタマイズすることができます。
1.テンプレート名の指定
「メール本文」のテンプレートは、メールフォームから自分宛に送信されるメールの文面を決めるテンプレートです。
また、「返信メール」のテンプレートは、メールフォームでメールを送信した人に、自動返信のメールを送る際の文面を決めるテンプレートです。
いずれのテンプレートも、テンプレートモジュールとして作ります。
メール本文のテンプレートモジュールでは、テンプレート名の先頭に「mail_body:」の接頭語を付加します。
例えば、「mail_body:メール本文」のような名前をつけます。
また、返信メールのテンプレートモジュールでは、テンプレート名の先頭に「mail_reply:」の接頭語を付加します。
2.テンプレートの作成
メール本文および返信メールのテンプレートの中では、メールフォームで入力された内容を、MTMailPreview系のタグで表すことができます。
例えば、サンプルのメールフォームのテンプレートでは、メール本文のテンプレートは以下のようになっています。
名前:<$MTMailPreviewAuthor$> タイトル:<$MTMailPreviewSubject$> 本文: <$MTMailPreviewBody$>
この中の「<$MTMailPreviewAuthor$>」のタグは、メールを送信した人の名前に置き換えられます。
同様に、「<$MTMailPreviewSubject$>」と「<$MTMailPreviewBody$>」のタグは、それぞれメールのタイトルと本文に置き換えられます。




![Hardcore Will Never Die, But You Will [Disc 2] Hardcore Will Never Die, But You Will [Disc 2]](http://userserve-ak.last.fm/serve/34s/71241534.jpg)
![Hardcore Will Never Die, But You Will [Bonus Tracks] Hardcore Will Never Die, But You Will [Bonus Tracks]](http://userserve-ak.last.fm/serve/34s/67192634.jpg)





コメントはスレッド表示になっています。
また、スレッドの先頭のコメントに対する返信には、先頭に矢印を表示しています。
fujimotoさま
メールフォームを導入しようとしているmakです
本文のボックスの中に、書いて欲しい内容を説明する文を入れたいのですが、可能でしょうか?
例えば、必ず年齢を書いてください とかです
よろしくお願いします
>makさん
こんにちは。
ご質問の件について記事を書きました。
http://www.h-fj.com/blog/archives/2008/03/13-104007.php
ご回答ありがとうございました
試してみます
こんにちは
こちらのプラグインを使ってメールフォームを作っているmogiと申します。
何度か送信テストを行ったのですが、
が入ってしまいます。メール本文に
例えばソースが
入力内容が
999-9999
だったとすると
999-9999
といった形で送られてくるのです。
どうしても原因がわかりません。
よろしくお願いします。
先に送信したメールの内容が一部消えてしまったので訂正します。
何度か送信テストを行ったのですが、
メール本文で
MTMailPreviewExtParamを使ったところに
<p> <⁄p>
が入ってしまいます。
例えば
入力内容が
999-9999
だったとすると
<p>999-9999<⁄p>
という形で送られてくるのです。
原因が全く分かりません。
よろしくお願いします。
>mogiさん
こんにちは。
ご質問の件ですが、MailPreviewExtParamタグに「convert_breaks="1"」のモディファイアを付加しているのではないでしょうか。
このモディファイアを付加すると、ブログ記事の改行自動変換と同じ処理が行われます。
それによって、値が段落ごとに区切られ、各段落がpタグで囲まれます。
こんにちは、fujimotoさま
チェックボックスのオン、オフでメール内で表示する文章を切り替えたく、mtsetver と mtif を使っているんですが、確認画面ではうまく行くんですが、メール本文のテンプレート、返信メールのテンプレートな中では、うまく分岐してくれません。
メール本文のテンプレート、返信メールのテンプレートの中ではMTのタグは使えないのでしょうか?
>kemkemさん
こんにちは。
ご質問の件ですが、メール本文/返信メールのテンプレートを再構築する時点では、フォームで入力された値を変数に設定する処理を行っていません。
MTIfタグを使う前に、以下のようにしてフォームで入力された値を変数に代入してください。
<mt:SetVarBlock name="フィールド名"><$mt:MailPreviewExtParam name="フィールド名"$></mt:SetVarBlock>
なお、この点も含めて、いくつかの点を改良してバージョンアップしたいと思っています。
ただし、バージョンアップの時期は未定です。
こんにちは、fujimotoさま
先の方法をとりましたら、解決しました!
ありがとうございます♪
壱さま、こんにちは。
メール本文に送信者のIPアドレスかホストの情報を記載したいのですが、可能でしょうか。
また、メールフォームプラグインV1.30の機能一覧にありました
「IPアドレスによるブロック」は、V2.0にも含まれていますか?
とても使用感の良いプラグインなので、是非使用させていただければと思います。
どうぞ宜しくお願い致します。
>だいずさん
こんにちは。
プラグインご利用ありがとうございます。
>メール本文に送信者のIPアドレスかホストの情報を記載したいのですが、可能でしょうか。
プラグインを拡張すれば可能です。
ご希望であれば、有償で拡張を作成します。
>「IPアドレスによるブロック」は、V2.0にも含まれていますか?
含まれています。
こんにちは、いつも拝見させていただいております。
カートの設置の関係で、サイトの文字コードをShift-JIS
にして作ってあるのですが、メール送信時に
”不正な要求です。文字コードUTF-8に含まれない文字データを送信しています。 ”
とのエラーが起こってしまいます。
サイトの文字コードを戻す以外方法はないのでしょうか?
するとカートのほうが使えなくなってしまうのですが、
なにか良い方法はないでしょうか?
>だいすけさん
こんにちは。
「不正な要求です。文字コードUTF-8に含まれない文字データを送信しています。」のメッセージは、メールフォームプラグインではなく、MT本体が出しているメッセージです。
また、このメッセージはセキュリティに関係する仕様で出るものなので、MT本体を書き換えるわけにもいきません。
ということで、申し訳ありませんが、文字コードをUTF-8にする以外に、策はないと思います。
MTOS5、文字コードUTF-8です。
他の動作はうまくいっていますが、送信されたメールの本文のうち、2バイト文字部分だけが「半角はてなマークの羅列」になってしまいます。
文字コードの問題だと思い調べてみますが、解決できません。
恐れ入りますが、ご指導願います。
>ぴんぽんさん
こんにちは。
Movable Typeの設定ファイル(mt-config.cgi)に、以下の行を追加してみてください。
MailEncoding ISO-2022-JP
あっ。
無恥でした。ご相談させていただき、よかった!
先日は、メールフォームの不具合で大変お世話になりました。
本日は、返信メール内の最後に署名を入れたのですが
「〜」の全角文字が \x{ff5e} という文字の羅列で文字化けしてしまいます。
No.15の設定でメール本文の中は文字化けしなくなったのですが。。
署名の中の文字だけ文字化け状態です。
恐れ入りますが、お教えいただけますでしょうか。
宜しくお願いいたします。
>ナツキさん
こんにちは。
お使いのMovable Typeはバージョン5でしょうか。
だとすると、Movable Type本体の不具合です。
すでに、シックスアパートに不具合を報告してありますので、Movable Typeの次のバージョンではおそらく不具合が修正されると思います。
壱さま
早速のお返事ありがとうございます。
バーション5を使用していました!
今は仕方ないんですね〜。
何か違う表記の仕方に変えてみます。
お忙しい中、いつもありがとうございました!
メールフォーム、ありがとうございます。
早速インストールしてみたのですが、
下記のような設定は可能でしょうか。
■自動返信メールの送信者名の表示をメールアドレスでなく自分の名前にする
■送信先に届くメールの送信者アドレスを、フォームに入力されたものにする
説明が下手で伝わりづらかったら申し訳ありません。
>クリスさん
こんにちは。
>■自動返信メールの送信者名の表示をメールアドレスでなく自分の名前にする
「自動返信時の送信元のメールアドレス」の欄に、「名前 」のように入力してください。
例えば、名前が「太郎」で、メールアドレスが「taro@hogehoge.com」の場合だと、「自動返信時の送信元のメールアドレス」の欄に「太郎 」と入力します。
>■送信先に届くメールの送信者アドレスを、フォームに入力されたものにする
デフォルトでは、「詳細設定」の「送信元のメールアドレス」の設定が「送信者のメールアドレス」になっていて、ご希望のような動作になっているはずです。
早速のお返事有難うございました。
>例えば、名前が「太郎」で、メールアドレスが「taro@hogehoge.com」の場合だと、「自動返信時の送信元のメールアドレス」の欄に「太郎 」と入力します。
についてですが試してみたところ
送信者名が文字化けし(全角文字です)
文字化けした名前の後に
@ サーバー名 No.
が付加されてメールが届きました・・・
↓以下については、仕様をきちんと理解していなくて失礼しました。
無事解決できました。
>■送信先に届くメールの送信者アドレスを、フォームに入力されたものにする
>クリスさん
こんにちは。
「<」「>」をエンコードするのを忘れていました。
「太郎 <taro@hogehoge.com>」のように、「名前 <メールアドレス>」の形にしてください。
すご~い!出来ました
引き続き頑張ります!
ありがとうございました。
お世話なります。
送信されるメールの中に送信日時を挿入することは可能でしょうか。
どうぞよろしくお願いいたします。
>上田さん
こんにちは。
MTDateタグが使えるはずです。
なお、MTDateタグは、テンプレートを再構築した時点の日時を表します。
mail_bodyテンプレートにMTDateタグを入れることで送信日時を挿入することができるようになりました。
ありがとうございました!
お世話になっております。
「GetQueryParam」をインストールし、ラジオボタンやセレクトを作成しました。
フォームの送信までは問題なく出来たのですが、
送られてくる「メール本文」と「自動返信メール」中の
「MTMailPreviewExtParam name="フィールド名」
と記載した部分が長い空白になっており、その後ろに選択された内容が記載されています。
選択した内容は正確に記載されています。
下記のような感じです。
________________________________
氏名:○○○
メールアドレス:○○○@○○○
性別: 男
学年: 3年生
内容:○○○○○○○○○○
_________________________________
この空白はなぜできるのでしょうか?
ちなみにメーラーはAL-MAILを使用しております。
なにか基本的なミスをしているのかもしれません。
恐れ入りますが、よろしくお願い致します。
>まうさん
こんにちは。
ご質問の件ですが、MTMailPreviewExtParamタグの前にスペースを入れていらっしゃらないでしょうか。
テンプレート内のスペースは、そのまま出力されます。
壱様
即答ありがとうございます!
MTMailPreviewExtParamタグの前にはスペースはいれていなかったのですが、mail_common中でリストを作成する部分に空白を入れておりました!
これを削除したら空白も消えました。
助かりました!本当にありがとうございます。
これからもよろしくお願いいたします。