Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit 628f4c6

Browse filesBrowse files
committed
maintain sender/recipient name in SMTP envelopes
1 parent 9407c6b commit 628f4c6
Copy full SHA for 628f4c6

File tree

2 files changed

+18
-7
lines changed
Filter options

2 files changed

+18
-7
lines changed

‎src/Symfony/Component/Mailer/DelayedSmtpEnvelope.php

Copy file name to clipboardExpand all lines: src/Symfony/Component/Mailer/DelayedSmtpEnvelope.php
+2-2Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ public function getSender(): Address
4747
return parent::getSender();
4848
}
4949

50-
return new Address(self::getSenderFromHeaders($this->message->getHeaders())->getAddress());
50+
return self::getSenderFromHeaders($this->message->getHeaders());
5151
}
5252

5353
public function setRecipients(array $recipients): void
@@ -75,7 +75,7 @@ private static function getRecipientsFromHeaders(Headers $headers): array
7575
foreach (['to', 'cc', 'bcc'] as $name) {
7676
foreach ($headers->all($name) as $header) {
7777
foreach ($header->getAddresses() as $address) {
78-
$recipients[] = new Address($address->getAddress());
78+
$recipients[] = $address;
7979
}
8080
}
8181
}

‎src/Symfony/Component/Mailer/Tests/SmtpEnvelopeTest.php

Copy file name to clipboardExpand all lines: src/Symfony/Component/Mailer/Tests/SmtpEnvelopeTest.php
+16-5Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -56,19 +56,19 @@ public function testSenderFromHeaders()
5656
$headers->addPathHeader('Return-Path', new NamedAddress('return@symfony.com', 'return'));
5757
$headers->addMailboxListHeader('To', ['from@symfony.com']);
5858
$e = SmtpEnvelope::create(new Message($headers));
59-
$this->assertEquals('return@symfony.com', $e->getSender()->getAddress());
59+
$this->assertEquals(new NamedAddress('return@symfony.com', 'return'), $e->getSender());
6060

6161
$headers = new Headers();
6262
$headers->addMailboxHeader('Sender', new NamedAddress('sender@symfony.com', 'sender'));
6363
$headers->addMailboxListHeader('To', ['from@symfony.com']);
6464
$e = SmtpEnvelope::create(new Message($headers));
65-
$this->assertEquals('sender@symfony.com', $e->getSender()->getAddress());
65+
$this->assertEquals(new NamedAddress('sender@symfony.com', 'sender'), $e->getSender());
6666

6767
$headers = new Headers();
6868
$headers->addMailboxListHeader('From', [new NamedAddress('from@symfony.com', 'from'), 'some@symfony.com']);
6969
$headers->addMailboxListHeader('To', ['from@symfony.com']);
7070
$e = SmtpEnvelope::create(new Message($headers));
71-
$this->assertEquals('from@symfony.com', $e->getSender()->getAddress());
71+
$this->assertEquals(new NamedAddress('from@symfony.com', 'from'), $e->getSender());
7272
}
7373

7474
public function testSenderFromHeadersWithoutFrom()
@@ -77,17 +77,28 @@ public function testSenderFromHeadersWithoutFrom()
7777
$headers->addMailboxListHeader('To', ['from@symfony.com']);
7878
$e = SmtpEnvelope::create($message = new Message($headers));
7979
$message->getHeaders()->addMailboxListHeader('From', [new NamedAddress('from@symfony.com', 'from')]);
80-
$this->assertEquals('from@symfony.com', $e->getSender()->getAddress());
80+
$this->assertEquals(new NamedAddress('from@symfony.com', 'from'), $e->getSender());
8181
}
8282

8383
public function testRecipientsFromHeaders()
84+
{
85+
$headers = new Headers();
86+
$headers->addPathHeader('Return-Path', 'return@symfony.com');
87+
$headers->addMailboxListHeader('To', [new Address('to@symfony.com')]);
88+
$headers->addMailboxListHeader('Cc', [new Address('cc@symfony.com')]);
89+
$headers->addMailboxListHeader('Bcc', [new Address('bcc@symfony.com')]);
90+
$e = SmtpEnvelope::create(new Message($headers));
91+
$this->assertEquals([new Address('to@symfony.com'), new Address('cc@symfony.com'), new Address('bcc@symfony.com')], $e->getRecipients());
92+
}
93+
94+
public function testRecipientsFromHeadersWithNames()
8495
{
8596
$headers = new Headers();
8697
$headers->addPathHeader('Return-Path', 'return@symfony.com');
8798
$headers->addMailboxListHeader('To', [new NamedAddress('to@symfony.com', 'to')]);
8899
$headers->addMailboxListHeader('Cc', [new NamedAddress('cc@symfony.com', 'cc')]);
89100
$headers->addMailboxListHeader('Bcc', [new NamedAddress('bcc@symfony.com', 'bcc')]);
90101
$e = SmtpEnvelope::create(new Message($headers));
91-
$this->assertEquals([new Address('to@symfony.com'), new Address('cc@symfony.com'), new Address('bcc@symfony.com')], $e->getRecipients());
102+
$this->assertEquals([new NamedAddress('to@symfony.com', 'to'), new NamedAddress('cc@symfony.com', 'cc'), new NamedAddress('bcc@symfony.com', 'bcc')], $e->getRecipients());
92103
}
93104
}

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.