From 2185899721b227897f6a7739e223b48fe5f9baf7 Mon Sep 17 00:00:00 2001
From: alecpl <alec@alec.pl>
Date: Tue, 09 Aug 2011 05:53:37 -0400
Subject: [PATCH] - Fix handling of email addresses with quoted local part (#1487939)

---
 tests/maildecode.php           |    4 ++++
 program/include/rcube_imap.php |    2 +-
 2 files changed, 5 insertions(+), 1 deletions(-)

diff --git a/program/include/rcube_imap.php b/program/include/rcube_imap.php
index 5fbf3ad..e31fb88 100644
--- a/program/include/rcube_imap.php
+++ b/program/include/rcube_imap.php
@@ -4772,7 +4772,7 @@
                 $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 ef3d182..7d67352 100644
--- a/tests/maildecode.php
+++ b/tests/maildecode.php
@@ -46,6 +46,8 @@
         18 => '"Test,Test" <test@domain.tld>',
         // 1487939
         19 => 'Test <"test test"@domain.tld>',
+        20 => '<"test test"@domain.tld>',
+        21 => '"test test"@domain.tld',
     );
 
     $results = array(
@@ -69,6 +71,8 @@
         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) {

--
Gitblit v1.9.1