8000 fixed sender/recipients in SMTP Envelope · symfony/symfony@7a2f9bf · GitHub
[go: up one dir, main page]

Skip to content

Commit 7a2f9bf

Browse files
committed
fixed sender/recipients in SMTP Envelope
1 parent cf728f5 commit 7a2f9bf

File tree

2 files changed

+11
-10
lines changed

2 files changed

+11
-10
lines changed

src/Symfony/Component/Mailer/DelayedSmtpEnvelope.php

Lines changed: 4 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 self::getSenderFromHeaders($this->message->getHeaders());
50+
return new Address(self::getSenderFromHeaders($this->message->getHeaders())->getAddress());
5151
}
5252

5353
public function setRecipients(array $recipients): void
@@ -74,7 +74,9 @@ private static function getRecipientsFromHeaders(Headers $headers): array
7474
$recipients = [];
7575
foreach (['to', 'cc', 'bcc'] as $name) {
7676
foreach ($headers->getAll($name) as $header) {
77-
$recipients = array_merge($recipients, $header->getAddresses());
77+
foreach ($header->getAddresses() as $address) {
78+
$recipients[] = new Address($address->getAddress());
79+
}
7880
}
7981
}
8082

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

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@
1717
use Symfony\Component\Mime\Header\Headers;
1818
use Symfony\Component\Mime\Message;
1919
use Symfony\Component\Mime\NamedAddress;
20-
use Symfony\Component\Mime\RawMessage;
2120

2221
class SmtpEnvelopeTest extends TestCase
2322
{
@@ -54,19 +53,19 @@ public function testConstructorWithWrongRecipients()
5453
public function testSenderFromHeaders()
5554
{
5655
$headers = new Headers();
57-
$headers->addPathHeader('Return-Path', 'return@symfony.com');
56+
$headers->addPathHeader('Return-Path', new NamedAddress('return@symfony.com', 'return'));
5857
$headers->addMailboxListHeader('To', ['from@symfony.com']);
5958
$e = SmtpEnvelope::create(new Message($headers));
6059
$this->assertEquals('return@symfony.com', $e->getSender()->getAddress());
6160

6261
$headers = new Headers();
63-
$headers->addMailboxHeader('Sender', 'sender@symfony.com');
62+
$headers->addMailboxHeader('Sender', new NamedAddress('sender@symfony.com', 'sender'));
6463
$headers->addMailboxListHeader('To', ['from@symfony.com']);
6564
$e = SmtpEnvelope::create(new Message($headers));
6665
$this->assertEquals('sender@symfony.com', $e->getSender()->getAddress());
6766

6867
$headers = new Headers();
69-
$headers->addMailboxListHeader('From', ['from@symfony.com', 'some@symfony.com']);
68+
$headers->addMailboxListHeader('From', [new NamedAddress('from@symfony.com', 'from'), 'some@symfony.com']);
7069
$headers->addMailboxListHeader('To', ['from@symfony.com']);
7170
$e = SmtpEnvelope::create(new Message($headers));
7271
$this->assertEquals('from@symfony.com', $e->getSender()->getAddress());
@@ -77,17 +76,17 @@ public function testSenderFromHeadersWithoutFrom()
7776
$headers = new Headers();
7877
$headers->addMailboxListHeader('To', ['from@symfony.com']);
7978
$e = SmtpEnvelope::create($message = new Message($headers));
80-
$message->getHeaders()->addMailboxListHeader('From', ['from@symfony.com']);
79+
$message->getHeaders()->addMailboxListHeader('From', [new NamedAddress('from@symfony.com', 'from')]);
8180
$this->assertEquals('from@symfony.com', $e->getSender()->getAddress());
8281
}
8382

8483
public function testRecipientsFromHeaders()
8584
{
8685
$headers = new Headers();
8786
$headers->addPathHeader('Return-Path', 'return@symfony.com');
88-
$headers->addMailboxListHeader('To', ['to@symfony.com']);
89-
$headers->addMailboxListHeader('Cc', ['cc@symfony.com']);
90-
$headers->addMailboxListHeader('Bcc', ['bcc@symfony.com']);
87+
$headers->addMailboxListHeader('To', [new NamedAddress('to@symfony.com', 'to')]);
88+
$headers->addMailboxListHeader('Cc', [new NamedAddress('cc@symfony.com', 'cc')]);
89+
$headers->addMailboxListHeader('Bcc', [new NamedAddress('bcc@symfony.com', 'bcc')]);
9190
$e = SmtpEnvelope::create(new Message($headers));
9291
$this->assertEquals([new Address('to@symfony.com'), new Address('cc@symfony.com'), new Address('bcc@symfony.com')], $e->getRecipients());
9392
}

0 commit comments

Comments
 (0)
0