Quantcast
Channel: php-tips.com » email
Viewing all articles
Browse latest Browse all 2

CakeEmailのメールアドレスチェックを回避する

$
0
0

この記事はCakePHP2以降、2.4.0までを対象とした記事です。

CakePHP2からCakeEmailクラスにおいて、メールアドレスのセット時にValidation::email()を用いた検証が行われるようになりました。

これにより、国内の一部キャリアで使用されているRFC違反のメールアドレス(※1)をセットしようとした場合、例外としてSocketExpectionが発生します。

これらのメールアドレスへ送信しようとする場合、CakeEmailを継承したクラスを作成しメールアドレスのチェックを回避するか、検証用の正規表現を緩いものとする必要があります。

下記の例では、emailPatternメソッドを追加したCakeEmailの拡張クラスを作成し、メールアドレス検証用の正規表現を任意のものに変更できるようにしています。

利用方法については、テストコードを参考にしてください。
なお、同様の機能は、CakePHP 2.4.0以降で組み込まれる予定です。

※1 .fuck.do..como.@example.com のようにドットで始まる、連続したドット、ドットで終わるなどのメールアドレス


Viewing all articles
Browse latest Browse all 2

Latest Images

Trending Articles





Latest Images