Hi, the e-mail address validator in CakePHP considers addresses in the form of f...@bar.com invalid because of the regular expression used for this purpose in cake/libs/validation.php. Although RFC 5322 specifies that the local-part of an e-mail address cannot end with a dot, some providers (e.g. freemail.hu, with 3 million mailboxes) allow users to get and use such e-mail addresses.
>From a technical viewpoint I agree that such addresses shouldn't be allowed to be used, but saying "go away, leave our beloved RFC alone" to every user who visits a CakePHP-based webshop or other website is not a solution either. I attached a patch, which fixes this particular problem, consider applying it. -- Veres-Szentkirályi András Check out the new CakePHP Questions site http://cakeqs.org and help others with their CakePHP related questions. You received this message because you are subscribed to the Google Groups "CakePHP" group. To post to this group, send email to cake-php@googlegroups.com To unsubscribe from this group, send email to cake-php+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/cake-php?hl=en
From 52c9e17a1ef837b6c850c7f61edc7ed37604692c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20Veres-Szentkir=C3=A1lyi?= <v...@vsza.hu> Date: Wed, 27 Jan 2010 05:02:27 +0100 Subject: [PATCH] Fixing the e-mail validation regexp (f...@bar.com) --- cake/libs/validation.php | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/cake/libs/validation.php b/cake/libs/validation.php index 20324dd..4a887a8 100644 --- a/cake/libs/validation.php +++ b/cake/libs/validation.php @@ -387,7 +387,7 @@ class Validation extends Object { } if (is_null($regex)) { - $regex = '/^[a-z0-9!#$%&\'*+\/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&\'*+\/=?^_`{|}~-]+)*@' . self::$__pattern['hostname'] . '$/i'; + $regex = '/^[\.a-z0-9!#$%&\'*+\/=?^_`{|}~-]+@' . self::$__pattern['hostname'] . '$/i'; } $return = self::_check($check, $regex); if ($deep === false || $deep === null) { -- 1.6.5