Skip to content

Commit 0f3b2f7

Browse files
spajxonicolas-grekas
authored andcommitted
[Mailer] [Mailgun] Fix sender header encoding
1 parent 29a5f21 commit 0f3b2f7

File tree

2 files changed

+14
-1
lines changed

2 files changed

+14
-1
lines changed

src/Symfony/Component/Mailer/Bridge/Mailgun/Tests/Transport/MailgunApiTransportTest.php

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -270,4 +270,17 @@ public function testTagAndMetadataHeaders()
270270
$this->assertArrayHasKey('v:Client-ID', $payload);
271271
$this->assertSame('12345', $payload['v:Client-ID']);
272272
}
273+
274+
public function testEnvelopeSenderHeaderIsCorrectlyEncoded()
275+
{
276+
$email = new Email();
277+
$envelope = new Envelope(new Address('[email protected]', 'Žluťoučký Kůň'), [new Address('[email protected]')]);
278+
279+
$transport = new MailgunApiTransport('ACCESS_KEY', 'DOMAIN');
280+
$method = new \ReflectionMethod(MailgunApiTransport::class, 'getPayload');
281+
$payload = $method->invoke($transport, $email, $envelope);
282+
283+
$this->assertArrayHasKey('h:Sender', $payload);
284+
$this->assertSame('=?utf-8?Q?=C5=BDlu=C5=A5ou=C4=8Dk=C3=BD_K=C5=AF=C5=88?= <[email protected]>', $payload['h:Sender']);
285+
}
273286
}

src/Symfony/Component/Mailer/Bridge/Mailgun/Transport/MailgunApiTransport.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ protected function doSendApi(SentMessage $sentMessage, Email $email, Envelope $e
8787
private function getPayload(Email $email, Envelope $envelope): array
8888
{
8989
$headers = $email->getHeaders();
90-
$headers->addHeader('h:Sender', $envelope->getSender()->toString());
90+
$headers->addMailboxHeader('h:Sender', $envelope->getSender());
9191
$html = $email->getHtmlBody();
9292
if (null !== $html && \is_resource($html)) {
9393
if (stream_get_meta_data($html)['seekable'] ?? false) {

0 commit comments

Comments
 (0)