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


コメントはスレッド表示になっています。
また、スレッドの先頭のコメントに対する返信には、先頭に矢印を表示しています。
3.2-jaにてメールフォームプラグインを試しましたが、
汎用フォームの値がうまくとれないようです。
メールフォーム側に以下のタグを設置、
mail_preview側に以下を記載しましたが、値が取れていませんでした。
原因や、ミス部分のご意見いただけると幸いです。
>takeさん
こんにちは。プラグインご利用ありがとうございます。
ご質問の件ですが、エントリーの記述に間違いがありました。申し訳ありません。
タグの名前を「MTPreviewExtParam」から「MTMailPreviewExtParam」に変えてください。
3.33においてメールフォームを設置させていただきました。試行錯誤してみたのですが、次の2点でつまづいています。
お時間のあるときにご教授下さい。
(1)任意でフィールドを追加し、「MTMailPreviewExtParam」タグのnameで設定した値を「label」のfor、「input」のidとnameに記載したのですが、確認画面などでは入力内容が表示されてもメール本文中では空となってしまいます。
フォーム内
確認画面
上記のtakeさんのコメントのように、「label」にはmail_subjectと入れなければいけないのでしょうか。
-----
(2)フォームの送信者にも同様の内容のメールをccなどで送ることはできますでしょうか。
MailForm.pmを少し直してみたのですが、2カ所には送信できませんでした。
できれば、Fromをブログの管理者名を表示させ、Toを送信者に、CCでブログの管理者アドレス(プラグインで設定したアドレス)あてに送信したいと思っています。
よろしくお願い申し上げます。
すみません、引用が間違えていました。
確認画面は
になっています。
>kimさん
こんにちは。プラグインご利用ありがとうございます。
・(1)について
メール本文用のテンプレートは作られているでしょうか。それを作って設定をしないと、追加のフィールドの値をメールで送信することはできません。
以下のエントリーを参照してください。
http://www.h-fj.com/blog/archives/2006/07/09-131550.php
・(2)について
今後検討してみます。
お礼が遅くなりました。
アドバイスありがとうございます。
もちろんマニュアル通りにメール本文用のモジュールも作成してあったのですが、やはりうまくいかず、結局プラグインのインストールからやり直してみたらアッサリと成功しました。
多分、単純な記述ミスだと思います。お騒がせいたしました。
また、送信者へ同時にメールをすることも何とかできました。
MailForm.pmとMailForm.plに手を加えて利用させていただいております。
(プラグインのインストール利用条件が見つからなかったため)独自に手を加えていいものかわからなかったのですが、問題がある場合にはプラグインの使用を止めますのでご一報下さい。
はじめまして。
大変ありがたく使わせていただいてます。
質問なんですが、エラーメッセージを任意のフィールドに適応できないでしょうか?
件名/お名前/メールアドレス/本文/
以外の部分で、新しく作ったフィールドの任意のものにも記入漏れチェックを行いたいのですが、出来ないのでしょうか?
例えば、「tell」と言うフィールドを作成した場合、
エラーメッセージに
「電話番号を入力してください。」
の様に表示したいのですが。。。
よろしくお願いします。
>halowさん
こんにちは。
他の方からも同様のご希望を多くいただいていますので、プラグインを改良中です。
近日中に公開できると思いますので、もうしばらくお待ちください。
お返事ありがとうございます。
バージョンアップ楽しみにしています。