Skip to content

Commit 09d49f9

Browse files
Romanavrnicolas-grekas
authored andcommitted
[Mailer] [Mailgun] Fix outlook sender
1 parent 810ad9d commit 09d49f9

File tree

4 files changed

+16
-3
lines changed

4 files changed

+16
-3
lines changed

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

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,8 @@ public function testCustomHeader()
6161
$deliveryTime = (new \DateTimeImmutable('2020-03-20 13:01:00'))->format(\DateTimeInterface::RFC2822);
6262

6363
$email = new Email();
64+
$envelope = new Envelope(new Address('alice@system.com'), [new Address('bob@system.com')]);
65+
$email->getHeaders()->addTextHeader('h:sender', $envelope->getSender()->toString());
6466
$email->getHeaders()->addTextHeader('h:X-Mailgun-Variables', $json);
6567
$email->getHeaders()->addTextHeader('h:foo', 'foo-value');
6668
$email->getHeaders()->addTextHeader('t:text', 'text-value');
@@ -69,7 +71,6 @@ public function testCustomHeader()
6971
$email->getHeaders()->addTextHeader('template', 'template-value');
7072
$email->getHeaders()->addTextHeader('recipient-variables', 'recipient-variables-value');
7173
$email->getHeaders()->addTextHeader('amp-html', 'amp-html-value');
72-
$envelope = new Envelope(new Address('alice@system.com'), [new Address('bob@system.com')]);
7374

7475
$transport = new MailgunApiTransport('ACCESS_KEY', 'DOMAIN');
7576
$method = new \ReflectionMethod(MailgunApiTransport::class, 'getPayload');
@@ -78,6 +79,8 @@ public function testCustomHeader()
7879
$this->assertArrayHasKey('h:X-Mailgun-Variables', $payload);
7980
$this->assertEquals($json, $payload['h:X-Mailgun-Variables']);
8081

82+
$this->assertArrayHasKey('h:sender', $payload);
83+
$this->assertEquals($envelope->getSender()->toString(), $payload['h:sender']);
8184
$this->assertArrayHasKey('h:foo', $payload);
8285
$this->assertEquals('foo-value', $payload['h:foo']);
8386
$this->assertArrayHasKey('t:text', $payload);

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

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,8 @@ public function testSend()
6969
$this->assertStringContainsString('Subject: Hello!', $content);
7070
$this->assertStringContainsString('To: Saif Eddin <saif.gmati@symfony.com>', $content);
7171
$this->assertStringContainsString('From: Fabien <fabpot@symfony.com>', $content);
72+
$this->assertStringContainsString('Sender: Senior Fabien Eddin <fabpot@symfony.com>', $content);
73+
$this->assertStringContainsString('h:sender: "Senior Fabien Eddin" <fabpot@symfony.com>', $content);
7274
$this->assertStringContainsString('Hello There!', $content);
7375

7476
return new MockResponse(json_encode(['id' => 'foobar']), [
@@ -79,11 +81,17 @@ public function testSend()
7981
$transport->setPort(8984);
8082

8183
$mail = new Email();
84+
$toAddress = new Address('saif.gmati@symfony.com', 'Saif Eddin');
85+
$fromAddress = new Address('fabpot@symfony.com', 'Fabien');
86+
$senderAddress = new Address('fabpot@symfony.com', 'Senior Fabien Eddin');
8287
$mail->subject('Hello!')
83-
->to(new Address('saif.gmati@symfony.com', 'Saif Eddin'))
84-
->from(new Address('fabpot@symfony.com', 'Fabien'))
88+
->to($toAddress)
89+
->from($fromAddress)
90+
->sender($senderAddress)
8591
->text('Hello There!');
8692

93+
$mail->getHeaders()->addHeader('h:sender', $mail->getSender()->toString());
94+
8795
$message = $transport->send($mail);
8896

8997
$this->assertSame('foobar', $message->getMessageId());

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,6 +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());
9091
$html = $email->getHtmlBody();
9192
if (null !== $html && \is_resource($html)) {
9293
if (stream_get_meta_data($html)['seekable'] ?? false) {

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@ public function __toString(): string
5353
protected function doSendHttp(SentMessage $message): ResponseInterface
5454
{
5555
$body = new FormDataPart([
56+
'h:sender' => $message->getEnvelope()->getSender()->toString(),
5657
'to' => implode(',', $this->stringifyAddresses($message->getEnvelope()->getRecipients())),
5758
'message' => new DataPart($message->toString(), 'message.mime'),
5859
]);

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy