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

質問全般・改善要望
返信する
nujotak
メンバー
メンバー
記事: 5
登録日時: 2010年10月21日(木) 02:21

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

投稿記事 by nujotak »

test
最後に編集したユーザー nujotak [ 2015年5月05日(火) 02:16 ], 累計 1 回
アバター
kmikage
管理人
記事: 396
登録日時: 2009年9月01日(火) 20:21

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

投稿記事 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さんのテストアドレスが原因なのかはわかりません。
同人サークル にくじゃがソフトウェア
http://www.nikujaga.info/

ブログはじめました。
http://kmikage.nikujaga.info/
nujotak
メンバー
メンバー
記事: 5
登録日時: 2010年10月21日(木) 02:21

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

投稿記事 by nujotak »

test
最後に編集したユーザー nujotak [ 2015年5月05日(火) 02:17 ], 累計 1 回
アバター
kmikage
管理人
記事: 396
登録日時: 2009年9月01日(火) 20:21

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

投稿記事 by kmikage »

kmikageです。

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

ブログはじめました。
http://kmikage.nikujaga.info/
nujotak
メンバー
メンバー
記事: 5
登録日時: 2010年10月21日(木) 02:21

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

投稿記事 by nujotak »

test
最後に編集したユーザー nujotak [ 2015年5月05日(火) 02:17 ], 累計 1 回
clefarray
メンバー
メンバー
記事: 10
登録日時: 2010年2月16日(火) 16:20

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

投稿記事 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
恐れ入りますが、上記の修正を加えて、再度お試しください。
配布パッケージの方は後日修正いたします。
nujotak
メンバー
メンバー
記事: 5
登録日時: 2010年10月21日(木) 02:21

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

投稿記事 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'] = '希望する差出人の名前を入力してみました';
に変更したのですが(間違ってたらすいません)英字は消えませんでした。

もしこちら何か間違っているようでしたら
ご指示頂けたらと思いました。
clefarray
メンバー
メンバー
記事: 10
登録日時: 2010年2月16日(火) 16:20

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

投稿記事 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環境でも確認してみたいと思います。
clefarray
メンバー
メンバー
記事: 10
登録日時: 2010年2月16日(火) 16:20

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

投稿記事 by clefarray »

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

windows環境での正常動作が確認できていませんが、
上記不具合でお困りの方はこの新版をお試しください。
nujotak
メンバー
メンバー
記事: 5
登録日時: 2010年10月21日(木) 02:21

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

投稿記事 by nujotak »

ご対応ありがとうございます。大変助かりました!
またcfFormMailerのような便利なプログラムを使わせて頂くことに
感謝いたします。とりいそぎ御礼まで。
返信する