php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #79802 VALIDATE_EMAIL has another behaviour as SANITIZE_EMAIL
Submitted: 2020-07-07 07:20 UTC Modified: 2021-08-05 17:36 UTC
From: cyberline@php.net Assigned: cmb (profile)
Status: Not a bug Package: Filter related
PHP Version: Irrelevant OS: Debian 10.4
Private report: No CVE-ID: None
Welcome back! If you're the original bug submitter, here's where you can edit the bug or add additional notes.
If you forgot your password, you can retrieve your password here.
Password:
Status:
Package:
Bug Type:
Summary:
From: cyberline@php.net
New email:
PHP Version: OS:

 

 [2020-07-07 07:20 UTC] cyberline@php.net
Description:
------------
In all PHP Versions except 5.3.2 the following Script will return false for FILTER_VALIDATE_EMAIL while FILTER_SANITIZE_EMAIL does NOTHING to the input email.

While the Provided email is a valid return path, i excpect that VALIDATE_EMAIL will return the string provided and not false.

Test script:
---------------
<?php

$email = '3e9.1c.4UB2NC76N436-3SP03.test-EW3LBM-M6H4BG-0-1.mobil.123456.989=test.de@smtp20.test.com';
var_dump(\filter_var($email, FILTER_VALIDATE_EMAIL));
var_dump($email === \filter_var($email, FILTER_SANITIZE_EMAIL));

Expected result:
----------------
string(89) "3e9.1c.4UB2NC76N436-3SP03.test-EW3LBM-M6H4BG-0-1.mobil.123456.989=test.de@smtp20.test.com"
bool(true)

Actual result:
--------------
bool(false)
bool(true)

Patches

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2021-08-05 17:36 UTC] cmb@php.net
-Status: Open +Status: Not a bug -Assigned To: +Assigned To: cmb
 [2021-08-05 17:36 UTC] cmb@php.net
Well, this is not a bug.  FILTER_SANITIZE_EMAIL is documented[1]
to:

| Remove all characters except letters, digits and
| !#$%&'*+-=?^_`{|}~@.[].

while FILTER_VALIDATE_EMAIL rejects addresses with local parts of
more than 64 bytes (not yet documented, see bug #78598).

[1] <https://www.php.net/manual/en/filter.filters.sanitize.php>
 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Thu Nov 21 13:01:29 2024 UTC