diff --git a/lib/Cake/Network/Email/CakeEmail.php b/lib/Cake/Network/Email/CakeEmail.php index 69c3982c233..c9aaf72cea2 100644 --- a/lib/Cake/Network/Email/CakeEmail.php +++ b/lib/Cake/Network/Email/CakeEmail.php @@ -686,6 +686,9 @@ protected function _formatAddress($address) { if ($email === $alias) { $return[] = $email; } else { + if (strpos($alias, ',') !== false) { + $alias = '"' . $alias . '"'; + } $return[] = sprintf('%s <%s>', $this->_encode($alias), $email); } } @@ -1109,9 +1112,6 @@ protected function _encode($text) { $restore = mb_internal_encoding(); mb_internal_encoding($this->_appCharset); } - if (strpos($text, ',') !== false) { - $text = '"' . $text . '"'; - } $return = mb_encode_mimeheader($text, $this->headerCharset, 'B'); if ($internalEncoding) { mb_internal_encoding($restore); diff --git a/lib/Cake/Test/Case/Network/Email/CakeEmailTest.php b/lib/Cake/Test/Case/Network/Email/CakeEmailTest.php index a962bab1c11..3c8c0d0fbb1 100644 --- a/lib/Cake/Test/Case/Network/Email/CakeEmailTest.php +++ b/lib/Cake/Test/Case/Network/Email/CakeEmailTest.php @@ -395,6 +395,8 @@ public function testSubject() { $this->CakeEmail->subject('You have a new message.'); $this->assertSame($this->CakeEmail->subject(), 'You have a new message.'); + $this->CakeEmail->subject('You have a new message, I think.'); + $this->assertSame($this->CakeEmail->subject(), 'You have a new message, I think.'); $this->CakeEmail->subject(1); $this->assertSame($this->CakeEmail->subject(), '1');