From 2185899721b227897f6a7739e223b48fe5f9baf7 Mon Sep 17 00:00:00 2001 From: alecpl Date: Tue, 9 Aug 2011 09:53:37 +0000 Subject: [PATCH] - Fix handling of email addresses with quoted local part (#1487939) --- program/include/rcube_imap.php | 2 +- tests/maildecode.php | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/program/include/rcube_imap.php b/program/include/rcube_imap.php index 5fbf3ad54..e31fb887e 100644 --- a/program/include/rcube_imap.php +++ b/program/include/rcube_imap.php @@ -4772,7 +4772,7 @@ class rcube_imap $address = $m[2]; $name = trim($m[1]); } - else if (preg_match('/^(\S+@\S+)$/', $val, $m)) { + else if (preg_match('/^('.$email_rx.')$/', $val, $m)) { $address = $m[1]; $name = ''; } diff --git a/tests/maildecode.php b/tests/maildecode.php index ef3d18246..7d67352c3 100644 --- a/tests/maildecode.php +++ b/tests/maildecode.php @@ -46,6 +46,8 @@ class rcube_test_maildecode extends UnitTestCase 18 => '"Test,Test" ', // 1487939 19 => 'Test <"test test"@domain.tld>', + 20 => '<"test test"@domain.tld>', + 21 => '"test test"@domain.tld', ); $results = array( @@ -69,6 +71,8 @@ class rcube_test_maildecode extends UnitTestCase 17 => array(1, '', 'test@domain.tld'), 18 => array(1, 'Test,Test', 'test@domain.tld'), 19 => array(1, 'Test', '"test test"@domain.tld'), + 20 => array(1, '', '"test test"@domain.tld'), + 21 => array(1, '', '"test test"@domain.tld'), ); foreach ($headers as $idx => $header) {