ページ 11

cfFormMailerの確認画面へ進めません

Posted: 2010年10月21日(木) 02:55
by nujotak
test

Re: cfFormMailerの確認画面へ進めません

Posted: 2010年10月24日(日) 18:18
by kmikage
kmikageです。

ソースを確認したところ、送信先のメールアドレスの形式が間違っている(もしくはアドレスチェックにマッチしない)事が考えられます。

コード: 全て選択

  /**
   * 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);
  }
function _isValidEmailのpreg_matchに送信先のメールアドレスがマッチしているか確認してみてください。
厳密にRFCに準拠している訳では無いようなので、コードが原因かnujotakさんのテストアドレスが原因なのかはわかりません。

Re: cfFormMailerの確認画面へ進めません

Posted: 2010年10月24日(日) 21:21
by nujotak
test

Re: cfFormMailerの確認画面へ進めません

Posted: 2010年10月24日(日) 22:32
by kmikage
kmikageです。

英字のみでは通りません。
例えばkmikage@nikujaga.infoのように普通のアドレスなら通るはずです。
逆にインターネットで一般的に利用されないアドレス(全角アルファベットが入る、RFCに準拠していない、TLDが独自もしくは無いなど)を利用されている可能性もあります。
詳しくは先のコードの、正規表現を読んで下さい。
(Perl互換なので調べるのは難しくないと思います。)

Re: cfFormMailerの確認画面へ進めません

Posted: 2010年10月24日(日) 22:40
by nujotak
test

Re: cfFormMailerの確認画面へ進めません

Posted: 2010年10月25日(月) 11:15
by clefarray
nujotak さん

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" />
あるいは、環境設定チャンクのほうで、「自動返信メールの宛先として使用するフィールド名」を email1 にすることでも回避できます。

コード: 全て選択

reply_to = email1
恐れ入りますが、上記の修正を加えて、再度お試しください。
配布パッケージの方は後日修正いたします。

Re: cfFormMailerの確認画面へ進めません

Posted: 2010年10月26日(火) 08:39
by nujotak
clefarrayさん
ご回答ありがとうございました。
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の確認画面へ進めません

Posted: 2010年10月30日(土) 19:22
by clefarray
nujotak さん
nujotak さんが書きました:自動返信メールの送信者名が15文字を超えたあたりで
メールの差出人の文字に英字(rnという文字)が混じってしまいました。
rnというのはおそらく改行コード(¥r¥n)っぽいですね。
以前のバージョンではそのような不具合があったのですが、v1.0以降は解決していると思っていました。
私の環境で試した範囲でも、問題は確認できませんでした。
(modx1.0.3+cfFormMailer v1.1で送信、Thunderbird(windows7)とGmailで受信。)

modx1.0.4をご利用のようですので、後日改めて1.0.4環境でも確認してみたいと思います。

Re: cfFormMailerの確認画面へ進めません

Posted: 2010年11月10日(水) 18:33
by clefarray
自動返信メールの送信者名が15文字を超えたあたりで
メールの差出人の文字に英字(rnという文字)が混じってしまいました。
この件について、修正版 cfFormMailer v1.1r2 を公開しました。
http://www.clefarray-web.net/blog/archi ... v11r2.html

windows環境での正常動作が確認できていませんが、
上記不具合でお困りの方はこの新版をお試しください。

Re: cfFormMailerの確認画面へ進めません

Posted: 2010年11月13日(土) 19:17
by nujotak
ご対応ありがとうございます。大変助かりました!
またcfFormMailerのような便利なプログラムを使わせて頂くことに
感謝いたします。とりいそぎ御礼まで。