From 5140c310645b1728f59e27d8f5fe37aeb2928d6f Mon Sep 17 00:00:00 2001 From: Aleksander Machniak Date: Fri, 24 Jan 2014 12:36:48 +0100 Subject: Remove quotes around addressee name in case they are encoded. Some clients encode quotes with name using base64/quoted-printable encoding. Quotes were removed only for unencoded strings. Now also encoded names are handled this way. So, recipient/sender strings are displayed without quotes around and e.g. saving to addressbook does not save these redundant quotes. --- program/lib/Roundcube/rcube_mime.php | 4 ++++ tests/Framework/Mime.php | 2 ++ 2 files changed, 6 insertions(+) diff --git a/program/lib/Roundcube/rcube_mime.php b/program/lib/Roundcube/rcube_mime.php index a931c27c1..55b70f67c 100644 --- a/program/lib/Roundcube/rcube_mime.php +++ b/program/lib/Roundcube/rcube_mime.php @@ -378,6 +378,10 @@ class rcube_mime } if ($decode) { $name = self::decode_header($name, $fallback); + // some clients encode addressee name with quotes around it + if ($name[0] == '"' && $name[strlen($name)-1] == '"') { + $name = substr($name, 1, -1); + } } } diff --git a/tests/Framework/Mime.php b/tests/Framework/Mime.php index 1450b4f90..d767905e3 100644 --- a/tests/Framework/Mime.php +++ b/tests/Framework/Mime.php @@ -41,6 +41,7 @@ class Framework_Mime extends PHPUnit_Framework_TestCase 21 => '"test test"@domain.tld', // invalid (#1489092) 22 => '"John Doe @ SomeBusinessName" ', + 23 => '=?UTF-8?B?IlRlc3QsVGVzdCI=?= ', ); $results = array( @@ -68,6 +69,7 @@ class Framework_Mime extends PHPUnit_Framework_TestCase 21 => array(1, '', '"test test"@domain.tld'), // invalid (#1489092) 22 => array(1, 'John Doe @ SomeBusinessName', 'MAILER-DAEMON'), + 23 => array(1, 'Test,Test', 'test@domain.tld'), ); foreach ($headers as $idx => $header) { -- cgit v1.2.3