diff --git a/src/Symfony/Component/Mime/Message.php b/src/Symfony/Component/Mime/Message.php index 18aac00f3d..f64ffebf83 100644 --- a/src/Symfony/Component/Mime/Message.php +++ b/src/Symfony/Component/Mime/Message.php @@ -97,7 +97,7 @@ class Message extends RawMessage } if (!$headers->has('Message-ID')) { - $headers->addIdHeader('Message-ID', $this->generateMessageId($sender->toString())); + $headers->addIdHeader('Message-ID', $this->generateMessageId($sender->getAddress())); } // remove the Bcc field which should NOT be part of the sent message diff --git a/src/Symfony/Component/Mime/Tests/MessageTest.php b/src/Symfony/Component/Mime/Tests/MessageTest.php index f366e4e6bf..888e77e245 100644 --- a/src/Symfony/Component/Mime/Tests/MessageTest.php +++ b/src/Symfony/Component/Mime/Tests/MessageTest.php @@ -17,6 +17,7 @@ use Symfony\Component\Mime\Header\Headers; use Symfony\Component\Mime\Header\MailboxListHeader; use Symfony\Component\Mime\Header\UnstructuredHeader; use Symfony\Component\Mime\Message; +use Symfony\Component\Mime\NamedAddress; use Symfony\Component\Mime\Part\TextPart; class MessageTest extends TestCase @@ -90,6 +91,15 @@ class MessageTest extends TestCase (new Message())->getPreparedHeaders(); } + public function testGetPreparedHeadersWithNamedFrom() + { + $message = new Message(); + $message->getHeaders()->addMailboxListHeader('From', [new NamedAddress('fabien@symfony.com', 'Fabien')]); + $h = $message->getPreparedHeaders(); + $this->assertEquals(new MailboxListHeader('From', [new NamedAddress('fabien@symfony.com', 'Fabien')]), $h->get('From')); + $this->assertTrue($h->has('Message-Id')); + } + public function testGetPreparedHeadersHasSenderWhenNeeded() { $message = new Message();