[スニペット] cfFormMailer (日本語メールフォーム)
[スニペット] cfFormMailer (日本語メールフォーム)
1.概要
http://www.clefarray-web.net/blog/archi ... ormmailer/ ※2010.02.16補正
2.ダウンロード
http://www.clefarray-web.net/blog/archi ... ormmailer/ ※22010.02.16時点の最新(利用時点の最新を確認のこと)
3.マニュアル
http://www.clefarray-web.net/blog/manua ... anual.html または、添付の ReadMe.txt
4.その他(有益な情報源)
http://modxcms.com/forums/index.php/topic,18894.0.html
※作者の方には申し訳ありませんが、当フォーラムの使い方を示す目的を兼ねまして、最もよく使わせていただいてるスニペットとして紹介させてください。
http://www.clefarray-web.net/blog/archi ... ormmailer/ ※2010.02.16補正
2.ダウンロード
http://www.clefarray-web.net/blog/archi ... ormmailer/ ※22010.02.16時点の最新(利用時点の最新を確認のこと)
3.マニュアル
http://www.clefarray-web.net/blog/manua ... anual.html または、添付の ReadMe.txt
4.その他(有益な情報源)
http://modxcms.com/forums/index.php/topic,18894.0.html
※作者の方には申し訳ありませんが、当フォーラムの使い方を示す目的を兼ねまして、最もよく使わせていただいてるスニペットとして紹介させてください。
最後に編集したユーザー sama55 [ 2010年2月16日(火) 17:12 ], 累計 4 回
理由: 2010/02/16のclefarrayさんの投稿を受けた補正 [thx. clefarray]
理由: 2010/02/16のclefarrayさんの投稿を受けた補正 [thx. clefarray]
Re: [スニペット] cfFormMailer (日本語メールフォーム)
cfFormMailerの作者です。
ご紹介ありがとうございます。
ブログシステムの移行やサイトリニューアルなどの影響により、リンク先が変わっているものがありますので、
ここで改めてご案内させていただきます。
■概要&ダウンロード
http://www.clefarray-web.net/blog/archi ... ormmailer/
cfFomMailerに関する記事のカテゴリです。最新情報などはこちらで確認できます。
また、ダウンロードはどのページからでも画面右上のリンクから行えるようにしました。
■マニュアル
http://www.clefarray-web.net/blog/manua ... anual.html
ご紹介ありがとうございます。
ブログシステムの移行やサイトリニューアルなどの影響により、リンク先が変わっているものがありますので、
ここで改めてご案内させていただきます。
■概要&ダウンロード
http://www.clefarray-web.net/blog/archi ... ormmailer/
cfFomMailerに関する記事のカテゴリです。最新情報などはこちらで確認できます。
また、ダウンロードはどのページからでも画面右上のリンクから行えるようにしました。
■マニュアル
http://www.clefarray-web.net/blog/manua ... anual.html
Re: [スニペット] cfFormMailer (日本語メールフォーム)
先日、最新バージョン 1.0 を公開しましたので、こちらでも告知させていただきます。
詳細やダウンロードはhttp://www.clefarray-web.net/blog/archi ... ion10.htmlからお願いいたします。
旧バージョンからの主な変更点は、
[NEW] ファイルを添付しての送信に対応。(環境設定 attach_file, attach_file_name追加)
[NEW] ユーザーからの画像ファイルアップロードと送信に対応
[NEW] 携帯端末宛自動返信メールのテンプレートをPC宛とは独立して設定可能に。(環境設定 tmpl_mail_reply_mobile追加)
[NEW] valid属性の3番目のパラメータを[+errors+]表示時の項目名として利用
[CHANGE] 独自検証メソッド、独自フィルターメソッドの追加方法を変更(※従来の方法もひとまず使用可能ですが、非推奨)
[CHANGE] 環境設定admin_nameの初期値を、「サイト名」から未定義に変更
[CHANGE] class.cfFormMailerMODx.inc.phpを廃し、メインクラス内に統合
[FIX] メールの件名と送信者名が文字化けする場合がある不具合に対処
[FIX] selectタグ、textareaタグへINVALID_CLASSを付加する際に余分なスラッシュを付加してしまう問題を修正
[FIX] サンプルテンプレートでのID重複を削除
となっております。
バグやご意見がございましたらご報告いただけると大変助かります。
よろしくお願いします。
詳細やダウンロードはhttp://www.clefarray-web.net/blog/archi ... ion10.htmlからお願いいたします。
旧バージョンからの主な変更点は、
[NEW] ファイルを添付しての送信に対応。(環境設定 attach_file, attach_file_name追加)
[NEW] ユーザーからの画像ファイルアップロードと送信に対応
[NEW] 携帯端末宛自動返信メールのテンプレートをPC宛とは独立して設定可能に。(環境設定 tmpl_mail_reply_mobile追加)
[NEW] valid属性の3番目のパラメータを[+errors+]表示時の項目名として利用
[CHANGE] 独自検証メソッド、独自フィルターメソッドの追加方法を変更(※従来の方法もひとまず使用可能ですが、非推奨)
[CHANGE] 環境設定admin_nameの初期値を、「サイト名」から未定義に変更
[CHANGE] class.cfFormMailerMODx.inc.phpを廃し、メインクラス内に統合
[FIX] メールの件名と送信者名が文字化けする場合がある不具合に対処
[FIX] selectタグ、textareaタグへINVALID_CLASSを付加する際に余分なスラッシュを付加してしまう問題を修正
[FIX] サンプルテンプレートでのID重複を削除
となっております。
バグやご意見がございましたらご報告いただけると大変助かります。
よろしくお願いします。
Re: [スニペット] cfFormMailer (日本語メールフォーム)
いつも重宝させてもらってます。要望ですが・・・

テンプレートのサンプルが同梱されてますが、エクスプローラでフォルダを開くと、環境によってはこのようにファイル名で判別がつきにくい感じになります。たとえば「tmpl.mail_admin.txt」なら「admin_tmpl.mail.txt」みたいな感じがよいかな?と思いましたがどうでしょう。
あと
tmpl.input→form.tpl
tmpl.conf→preview.tpl
tmpl.comp→thanks.tpl
tmpl.mail_admin→receivemail.html.tpl
tmpl.mail_reply→autoreply.html.tpl
tmpl.mail_reply_mobile→autoreply.text.tpl
という感じのほうが分かりやすいかな?と思いました。(古い感覚かも・・・汗)
個人的な好みの問題が大きい気もするので、もしよければ検討いただければと。

テンプレートのサンプルが同梱されてますが、エクスプローラでフォルダを開くと、環境によってはこのようにファイル名で判別がつきにくい感じになります。たとえば「tmpl.mail_admin.txt」なら「admin_tmpl.mail.txt」みたいな感じがよいかな?と思いましたがどうでしょう。
あと
tmpl.input→form.tpl
tmpl.conf→preview.tpl
tmpl.comp→thanks.tpl
tmpl.mail_admin→receivemail.html.tpl
tmpl.mail_reply→autoreply.html.tpl
tmpl.mail_reply_mobile→autoreply.text.tpl
という感じのほうが分かりやすいかな?と思いました。(古い感覚かも・・・汗)
個人的な好みの問題が大きい気もするので、もしよければ検討いただければと。
Re: [スニペット] cfFormMailer (日本語メールフォーム)
> yama さん
いつもお世話になっております。
返信が遅くなって申し訳ないです。
サンプルテンプレートの名称は、確かに仰る通りですね。
初回リリース時に思いつきで付けた名称ですが、正直あまり気にしていませんでした。。。
次回バージョンアップの際には、ぜひ取り入れたいと思います。
ありがとうございました!
いつもお世話になっております。
返信が遅くなって申し訳ないです。
サンプルテンプレートの名称は、確かに仰る通りですね。
初回リリース時に思いつきで付けた名称ですが、正直あまり気にしていませんでした。。。
次回バージョンアップの際には、ぜひ取り入れたいと思います。
ありがとうございました!
Re: [スニペット] cfFormMailer (日本語メールフォーム)
cfFormMailer愛用してます。きめ細かい作りに今さらながら改めて納得しています。
いくつか要望があるのですが・・(来月以降でよければ自力でやってみますが)
入力値の検証メソッドとして、全角半角のチェックとURL文字列のチェックが最初から備わっていると便利と思いました。
全角半角チェックに関しては「半角で入力してください」と再入力を促すのはフレンドリーさに欠けるので、cfFormMailer側で半角に揃えてから「半角に変換しました」などと表示するのがよいと思います。たぶんnumメソッドもすでにそういう思想で実装されているものと思いますが。
URL文字列チェックに関してはhttpの文字列とピリオドひとつ以上があるかどうか程度の緩いチェックでよさそうに思います。
それと、管理者宛てメールのfromを「送信主」のメールアドレスにすることができれば、そのままメールソフトの返信ボタンで返信できるので便利と思いました。こういう使い方は内容によっては送信主に対して失礼なことがあったりするので、本当はあまりよくないことかもしれませんが。
いくつか要望があるのですが・・(来月以降でよければ自力でやってみますが)
入力値の検証メソッドとして、全角半角のチェックとURL文字列のチェックが最初から備わっていると便利と思いました。
全角半角チェックに関しては「半角で入力してください」と再入力を促すのはフレンドリーさに欠けるので、cfFormMailer側で半角に揃えてから「半角に変換しました」などと表示するのがよいと思います。たぶんnumメソッドもすでにそういう思想で実装されているものと思いますが。
URL文字列チェックに関してはhttpの文字列とピリオドひとつ以上があるかどうか程度の緩いチェックでよさそうに思います。
それと、管理者宛てメールのfromを「送信主」のメールアドレスにすることができれば、そのままメールソフトの返信ボタンで返信できるので便利と思いました。こういう使い方は内容によっては送信主に対して失礼なことがあったりするので、本当はあまりよくないことかもしれませんが。
Re: [スニペット] cfFormMailer (日本語メールフォーム)
yama さん
返信がかなり遅くなって申し訳ございません。
全角半角のチェック、というよりは強制変換は、確かに単独の検証メソッドとしてあったほうがよさそうですね。
numやtel、emailなど、必要な値が一般的に半角だと思われる検証メソッドでは、有無を言わさず半角に変換していますが、他の値でも需要はありそうですね。
URLチェックについても、仰る通りだと思います。
あまり厳密にやっても、対効果の面で疑問もありますし。
管理者宛メールのfrom、こちらは実装忘れです。。。
cfFormMailer以外のメール送信スクリプトでは、そのように実装しているので、てっきりこちらもそのような仕様になっていると思い込んでいました。
ご意見いただいた点について、すべて次回バージョンアップに反映させていただきたいと思います。
ありがとうございました!
返信がかなり遅くなって申し訳ございません。
全角半角のチェック、というよりは強制変換は、確かに単独の検証メソッドとしてあったほうがよさそうですね。
numやtel、emailなど、必要な値が一般的に半角だと思われる検証メソッドでは、有無を言わさず半角に変換していますが、他の値でも需要はありそうですね。
URLチェックについても、仰る通りだと思います。
あまり厳密にやっても、対効果の面で疑問もありますし。
管理者宛メールのfrom、こちらは実装忘れです。。。
cfFormMailer以外のメール送信スクリプトでは、そのように実装しているので、てっきりこちらもそのような仕様になっていると思い込んでいました。
ご意見いただいた点について、すべて次回バージョンアップに反映させていただきたいと思います。
ありがとうございました!
Re: [スニペット] cfFormMailer (日本語メールフォーム)
cfFormMailer、いつも使わせていただいております。
#入力内容を記録したり、CSVで取り出す等の機能を追加予定ということで、楽しみにしております。
不具合らしきことがありましたので、ご報告いたします。
ひらがなやカタカナを多く含み、半角文字や漢字が混在している比較的長い件名の場合、
Gmailでヘッダが正常に処理されない(件名の途中から以降が本文扱いになる)という現象がありました。
ざっと調べてみた感じですが、
「_encodeMimeHeader」で、
全角文字36文字単位で、1行の文字数制限の処理をされているようですが、
UTF-8では、カタカナ、ひらがなは、1文字あたり3バイトなので、
1行の文字数制限の判断がずれているのでは?
と思っています。
間違っていたら、すみません。
追記)
本来的な問題は「mb_encode_mimeheader」にあって、
cfFormMailerでは、前述の箇所でこの問題を回避されようとしているようですね。
せっかくなので、cfFormMailerで対応していただけるとありがたいです。
#入力内容を記録したり、CSVで取り出す等の機能を追加予定ということで、楽しみにしております。
不具合らしきことがありましたので、ご報告いたします。
ひらがなやカタカナを多く含み、半角文字や漢字が混在している比較的長い件名の場合、
Gmailでヘッダが正常に処理されない(件名の途中から以降が本文扱いになる)という現象がありました。
ざっと調べてみた感じですが、
「_encodeMimeHeader」で、
全角文字36文字単位で、1行の文字数制限の処理をされているようですが、
UTF-8では、カタカナ、ひらがなは、1文字あたり3バイトなので、
1行の文字数制限の判断がずれているのでは?
と思っています。
間違っていたら、すみません。
追記)
本来的な問題は「mb_encode_mimeheader」にあって、
cfFormMailerでは、前述の箇所でこの問題を回避されようとしているようですね。
せっかくなので、cfFormMailerで対応していただけるとありがたいです。
▼ウェブ屋のCMS→modxヒキダス流(備忘録)
http://d.hatena.ne.jp/hikidas_ikeda/
http://d.hatena.ne.jp/hikidas_ikeda/
Re: [スニペット] cfFormMailer (日本語メールフォーム)
もう一つ、
入力フォームのHTMLで、textareaにデフォルトで何か入れてあると、
入力値修正時に、このデフォルト値が残ってしまうということがあります。
「class.cfFormMailer.inc.php」347行目の
「$tag[4]」を「'</textarea>'」に変更すれば回避できるような感じですが…
入力フォームのHTMLで、textareaにデフォルトで何か入れてあると、
入力値修正時に、このデフォルト値が残ってしまうということがあります。
「class.cfFormMailer.inc.php」347行目の
「$tag[4]」を「'</textarea>'」に変更すれば回避できるような感じですが…
▼ウェブ屋のCMS→modxヒキダス流(備忘録)
http://d.hatena.ne.jp/hikidas_ikeda/
http://d.hatena.ne.jp/hikidas_ikeda/
Re: [スニペット] cfFormMailer (日本語メールフォーム)
kazuike さん
返信が遅くなってしまいましたが、不具合をご指摘いただきましてありがとうございます。
仰る通り、_encodeMimeHeader() での処理が不完全だと思いますので、
現在改良に取り組んでいます。
また、textareaの件、この正規表現ではデフォルト値まで拾ってしまいますね。。。
次のバージョンでは修正したいと思います。
返信が遅くなってしまいましたが、不具合をご指摘いただきましてありがとうございます。
仰る通り、_encodeMimeHeader() での処理が不完全だと思いますので、
現在改良に取り組んでいます。
また、textareaの件、この正規表現ではデフォルト値まで拾ってしまいますね。。。
次のバージョンでは修正したいと思います。
Re: [スニペット] cfFormMailer (日本語メールフォーム)
最近MODXとcfFormMailerの利用を開始したばかりの新参者ですが、
「cfFormMailer」に要望がありまして、書き込みさせていただきます。
掲示板等でこのような書き込みははじめての為、マナー違反などありましたら申し訳ありません。
管理者宛に送られてくるメールの
「送信者」を、メールフォームに「入力した名前」
「送信者アドレス」を、メールフォームに「入力したメールアドレス」
「メールの件名」を「メールフォームに入力した件名や選んだ選択肢など」に、
それぞれ反映させた管理者宛メールが届くと、
そのまま返信できますし、
沢山のメールが届いても、送信者名や件名が違うので、後から分かりやすくなります。
ぜひ、このような機能をご検討ください。
最後まで読んでいただき、ありがとうございました。
「cfFormMailer」に要望がありまして、書き込みさせていただきます。
掲示板等でこのような書き込みははじめての為、マナー違反などありましたら申し訳ありません。
管理者宛に送られてくるメールの
「送信者」を、メールフォームに「入力した名前」
「送信者アドレス」を、メールフォームに「入力したメールアドレス」
「メールの件名」を「メールフォームに入力した件名や選んだ選択肢など」に、
それぞれ反映させた管理者宛メールが届くと、
そのまま返信できますし、
沢山のメールが届いても、送信者名や件名が違うので、後から分かりやすくなります。
ぜひ、このような機能をご検討ください。
最後まで読んでいただき、ありがとうございました。