Edit report at http://bugs.php.net/bug.php?id=49576&edit=1

 ID:                 49576
 Comment by:         grangeway at hotmail dot com
 Reported by:        mparkin at de-facto dot com
 Summary:            Filter var for validating email is not validating
                     emails correctly
 Status:             Re-Opened
 Type:               Feature/Change Request
 Package:            *General Issues
 Operating System:   *
 PHP Version:        5.*, 6
 Assigned To:        rasmus
 Block user comment: N

 New Comment:

Additionally:



1) at the moment, I believe the current regex does not allow f...@com as
an 

email address. Albeit, it's going back almost 10 years now - I'm pretty
sure  I 

received an email from someone @tld, complaining that a regex  did not
allow 

their valid email address to sign up.



2) The issue the user hit is the phpmailer class contains the following
code to 

validate email addresses against FILTER_VALIDATE_EMAIL regardless of
whether 

SMTP or mail() is the sending method.



550  public static function ValidateAddress($address) {

551    if (function_exists('filter_var')) { //Introduced in PHP 5.2

...

else 

 regex


Previous Comments:
------------------------------------------------------------------------
[2010-08-14 20:48:24] ka...@php.net

Re-opened, the last comment seems quite valid to me, don't you think so
Rasmus?

------------------------------------------------------------------------
[2010-08-05 16:41:58] alexsander dot rosa at gmail dot com

The format "usern...@box" for local networks IS allowed when the mail()
method is used. I quote RFC 5321: "local aliases MUST NOT appear in any
SMTP transaction." They say NOTHING about mail() method in the RFC.

------------------------------------------------------------------------
[2010-04-02 19:57:45] ras...@php.net

A much better RFC-compliant regex has been committed now.

------------------------------------------------------------------------
[2010-04-02 19:56:39] ras...@php.net

Automatic comment from SVN on behalf of rasmus
Revision: http://svn.php.net/viewvc/?view=revision&revision=297350
Log: Update the FILTER_VALIDATE_EMAIL filter to fix bug #49576

------------------------------------------------------------------------
[2010-04-02 07:40:29] ras...@php.net

Finally having a look at this.  Some of your cases are actually
incorrect 

according to RFC3696/RFC5322



For example.  ipinsteadofdom...@127.0.0.1 is not a valid email address
according 

to the RFC.  IPs in an email address must be in square brackets.  So it
should 

be ipinsteadofdom...@[127.0.0.1] for that one to be valid.  This is
valid under 

both RFC822 and RFC2822, but RFC3696 and RFC5322 updates those RFCs. 
And you 

can't have a port in it, so ipandp...@127.0.0.1:25 is invalid as well,
even if 

you added the square brackets.  Also we do not validate domains, so your
2 

examples of invalid TLDs are not relevant.



I'll have an update of the baked in regex soon, but it sounds like you
need to 

update the Kohana one as well.

------------------------------------------------------------------------


The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at

    http://bugs.php.net/bug.php?id=49576


-- 
Edit this bug report at http://bugs.php.net/bug.php?id=49576&edit=1

Reply via email to