cfFormMailerの確認画面へ進めません
Re: cfFormMailerの確認画面へ進めません
kmikageです。
ソースを確認したところ、送信先のメールアドレスの形式が間違っている(もしくはアドレスチェックにマッチしない)事が考えられます。
function _isValidEmailのpreg_matchに送信先のメールアドレスがマッチしているか確認してみてください。
厳密にRFCに準拠している訳では無いようなので、コードが原因かnujotakさんのテストアドレスが原因なのかはわかりません。
ソースを確認したところ、送信先のメールアドレスの形式が間違っている(もしくはアドレスチェックにマッチしない)事が考えられます。
コード: 全て選択
/**
* email : 正しいメールアドレス形式か?
*/
function _def_email($value, $param, $field) {
// 強制的に半角に変換します。
$this->form[$field] = mb_convert_kana($this->form[$field], "a", CHARSET);
return $this->_isValidEmail($this->form[$field]) ? true : 'メールアドレスの形式が正しくありません';
}
コード: 全て選択
/**
* メールアドレス妥当性チェック
*
* @access private
* @param string $addr チェックするメールアドレス
* @return boolean 結果
*/
function _isValidEmail($addr) {
return preg_match("/^(?:[a-z0-9+_-]+?\.)*?[a-z0-9_+-]+?@(?:[a-z0-9_-]+?\.)*?[a-z0-9_-]+?\.[a-z0-9]{2,5}$/i", $addr);
}
厳密にRFCに準拠している訳では無いようなので、コードが原因かnujotakさんのテストアドレスが原因なのかはわかりません。
Re: cfFormMailerの確認画面へ進めません
kmikageです。
英字のみでは通りません。
例えばkmikage@nikujaga.infoのように普通のアドレスなら通るはずです。
逆にインターネットで一般的に利用されないアドレス(全角アルファベットが入る、RFCに準拠していない、TLDが独自もしくは無いなど)を利用されている可能性もあります。
詳しくは先のコードの、正規表現を読んで下さい。
(Perl互換なので調べるのは難しくないと思います。)
英字のみでは通りません。
例えばkmikage@nikujaga.infoのように普通のアドレスなら通るはずです。
逆にインターネットで一般的に利用されないアドレス(全角アルファベットが入る、RFCに準拠していない、TLDが独自もしくは無いなど)を利用されている可能性もあります。
詳しくは先のコードの、正規表現を読んで下さい。
(Perl互換なので調べるのは難しくないと思います。)
Re: cfFormMailerの確認画面へ進めません
nujotak さん
cfFormMailerの作者です。cfFormMailerをご利用いただきありがとうございます。
症状を確認したところ、サンプルとして添付している「form.html」と「config_chunk.txt」をそのまま使用した場合、
メールアドレス項目で入力エラーが発生することがわかりました。
原因は、環境設定の「自動返信メールの宛先として使用するフィールド名」が email であるのに対し、
入力画面サンプル(form.html)のメールアドレスフィールド名が email1 であるため、
「自動返信メールフラグ」が 1 の場合に行う自動返信先メールアドレスのチェックに
必ず引っかかってしまうためです。
ですので、入力画面のメールアドレス入力のためのinputタグのname属性を email に変更することで
正常に確認画面に遷移できるかと思います。
あるいは、環境設定チャンクのほうで、「自動返信メールの宛先として使用するフィールド名」を email1 にすることでも回避できます。
恐れ入りますが、上記の修正を加えて、再度お試しください。
配布パッケージの方は後日修正いたします。
cfFormMailerの作者です。cfFormMailerをご利用いただきありがとうございます。
症状を確認したところ、サンプルとして添付している「form.html」と「config_chunk.txt」をそのまま使用した場合、
メールアドレス項目で入力エラーが発生することがわかりました。
原因は、環境設定の「自動返信メールの宛先として使用するフィールド名」が email であるのに対し、
入力画面サンプル(form.html)のメールアドレスフィールド名が email1 であるため、
「自動返信メールフラグ」が 1 の場合に行う自動返信先メールアドレスのチェックに
必ず引っかかってしまうためです。
ですので、入力画面のメールアドレス入力のためのinputタグのname属性を email に変更することで
正常に確認画面に遷移できるかと思います。
コード: 全て選択
<input type="text" name="email" size="30" id="f_email" />
コード: 全て選択
reply_to = email1
配布パッケージの方は後日修正いたします。
Re: cfFormMailerの確認画面へ進めません
clefarrayさん
ご回答ありがとうございました。
name属性を変更することで問題なく動き、
cfFormMailerを使用させて頂く事ができました。
送信可能になり、自動返信メールを確認したところで
1点気になるところがございました。
自動返信メールの送信者名が15文字を超えたあたりで
メールの差出人の文字に英字(rnという文字)が混じってしまいました。
class.cfFormMailer.inc.phpの1173行目を
↓
に変更したのですが(間違ってたらすいません)英字は消えませんでした。
もしこちら何か間違っているようでしたら
ご指示頂けたらと思いました。
ご回答ありがとうございました。
name属性を変更することで問題なく動き、
cfFormMailerを使用させて頂く事ができました。
送信可能になり、自動返信メールを確認したところで
1点気になるところがございました。
自動返信メールの送信者名が15文字を超えたあたりで
メールの差出人の文字に英字(rnという文字)が混じってしまいました。
class.cfFormMailer.inc.phpの1173行目を
コード: 全て選択
if (empty($param_list['reply_fromname'])) $param_list['reply_fromname'] = $this->modx->config['site_name'];
コード: 全て選択
if (empty($param_list['reply_fromname'])) $param_list['reply_fromname'] = '希望する差出人の名前を入力してみました';
もしこちら何か間違っているようでしたら
ご指示頂けたらと思いました。
Re: cfFormMailerの確認画面へ進めません
nujotak さん
以前のバージョンではそのような不具合があったのですが、v1.0以降は解決していると思っていました。
私の環境で試した範囲でも、問題は確認できませんでした。
(modx1.0.3+cfFormMailer v1.1で送信、Thunderbird(windows7)とGmailで受信。)
modx1.0.4をご利用のようですので、後日改めて1.0.4環境でも確認してみたいと思います。
rnというのはおそらく改行コード(¥r¥n)っぽいですね。nujotak さんが書きました:自動返信メールの送信者名が15文字を超えたあたりで
メールの差出人の文字に英字(rnという文字)が混じってしまいました。
以前のバージョンではそのような不具合があったのですが、v1.0以降は解決していると思っていました。
私の環境で試した範囲でも、問題は確認できませんでした。
(modx1.0.3+cfFormMailer v1.1で送信、Thunderbird(windows7)とGmailで受信。)
modx1.0.4をご利用のようですので、後日改めて1.0.4環境でも確認してみたいと思います。
Re: cfFormMailerの確認画面へ進めません
この件について、修正版 cfFormMailer v1.1r2 を公開しました。自動返信メールの送信者名が15文字を超えたあたりで
メールの差出人の文字に英字(rnという文字)が混じってしまいました。
http://www.clefarray-web.net/blog/archi ... v11r2.html
windows環境での正常動作が確認できていませんが、
上記不具合でお困りの方はこの新版をお試しください。
Re: cfFormMailerの確認画面へ進めません
ご対応ありがとうございます。大変助かりました!
またcfFormMailerのような便利なプログラムを使わせて頂くことに
感謝いたします。とりいそぎ御礼まで。
またcfFormMailerのような便利なプログラムを使わせて頂くことに
感謝いたします。とりいそぎ御礼まで。