diff --git a/src/Symfony/Component/Mailer/Bridge/Mailgun/Tests/Transport/MailgunApiTransportTest.php b/src/Symfony/Component/Mailer/Bridge/Mailgun/Tests/Transport/MailgunApiTransportTest.php index 4cd9ce40c00e9..808798ea88748 100644 --- a/src/Symfony/Component/Mailer/Bridge/Mailgun/Tests/Transport/MailgunApiTransportTest.php +++ b/src/Symfony/Component/Mailer/Bridge/Mailgun/Tests/Transport/MailgunApiTransportTest.php @@ -61,6 +61,8 @@ public function testCustomHeader() $deliveryTime = (new \DateTimeImmutable('2020-03-20 13:01:00'))->format(\DateTimeInterface::RFC2822); $email = new Email(); + $envelope = new Envelope(new Address('alice@system.com'), [new Address('bob@system.com')]); + $email->getHeaders()->addTextHeader('h:sender', $envelope->getSender()->toString()); $email->getHeaders()->addTextHeader('h:X-Mailgun-Variables', $json); $email->getHeaders()->addTextHeader('h:foo', 'foo-value'); $email->getHeaders()->addTextHeader('t:text', 'text-value'); @@ -69,7 +71,6 @@ public function testCustomHeader() $email->getHeaders()->addTextHeader('template', 'template-value'); $email->getHeaders()->addTextHeader('recipient-variables', 'recipient-variables-value'); $email->getHeaders()->addTextHeader('amp-html', 'amp-html-value'); - $envelope = new Envelope(new Address('alice@system.com'), [new Address('bob@system.com')]); $transport = new MailgunApiTransport('ACCESS_KEY', 'DOMAIN'); $method = new \ReflectionMethod(MailgunApiTransport::class, 'getPayload'); @@ -78,6 +79,8 @@ public function testCustomHeader() $this->assertArrayHasKey('h:X-Mailgun-Variables', $payload); $this->assertEquals($json, $payload['h:X-Mailgun-Variables']); + $this->assertArrayHasKey('h:sender', $payload); + $this->assertEquals($envelope->getSender()->toString(), $payload['h:sender']); $this->assertArrayHasKey('h:foo', $payload); $this->assertEquals('foo-value', $payload['h:foo']); $this->assertArrayHasKey('t:text', $payload); diff --git a/src/Symfony/Component/Mailer/Bridge/Mailgun/Tests/Transport/MailgunHttpTransportTest.php b/src/Symfony/Component/Mailer/Bridge/Mailgun/Tests/Transport/MailgunHttpTransportTest.php index 85342c23368d6..cc83f6f0db074 100644 --- a/src/Symfony/Component/Mailer/Bridge/Mailgun/Tests/Transport/MailgunHttpTransportTest.php +++ b/src/Symfony/Component/Mailer/Bridge/Mailgun/Tests/Transport/MailgunHttpTransportTest.php @@ -69,6 +69,8 @@ public function testSend() $this->assertStringContainsString('Subject: Hello!', $content); $this->assertStringContainsString('To: Saif Eddin ', $content); $this->assertStringContainsString('From: Fabien ', $content); + $this->assertStringContainsString('Sender: Senior Fabien Eddin ', $content); + $this->assertStringContainsString('h:sender: "Senior Fabien Eddin" ', $content); $this->assertStringContainsString('Hello There!', $content); return new MockResponse(json_encode(['id' => 'foobar']), [ @@ -79,11 +81,17 @@ public function testSend() $transport->setPort(8984); $mail = new Email(); + $toAddress = new Address('saif.gmati@symfony.com', 'Saif Eddin'); + $fromAddress = new Address('fabpot@symfony.com', 'Fabien'); + $senderAddress = new Address('fabpot@symfony.com', 'Senior Fabien Eddin'); $mail->subject('Hello!') - ->to(new Address('saif.gmati@symfony.com', 'Saif Eddin')) - ->from(new Address('fabpot@symfony.com', 'Fabien')) + ->to($toAddress) + ->from($fromAddress) + ->sender($senderAddress) ->text('Hello There!'); + $mail->getHeaders()->addHeader('h:sender', $mail->getSender()->toString()); + $message = $transport->send($mail); $this->assertSame('foobar', $message->getMessageId()); diff --git a/src/Symfony/Component/Mailer/Bridge/Mailgun/Transport/MailgunApiTransport.php b/src/Symfony/Component/Mailer/Bridge/Mailgun/Transport/MailgunApiTransport.php index 64c9703dd158f..36fb59c8e6f67 100644 --- a/src/Symfony/Component/Mailer/Bridge/Mailgun/Transport/MailgunApiTransport.php +++ b/src/Symfony/Component/Mailer/Bridge/Mailgun/Transport/MailgunApiTransport.php @@ -87,6 +87,7 @@ protected function doSendApi(SentMessage $sentMessage, Email $email, Envelope $e private function getPayload(Email $email, Envelope $envelope): array { $headers = $email->getHeaders(); + $headers->addHeader('h:sender', $envelope->getSender()->toString()); $html = $email->getHtmlBody(); if (null !== $html && \is_resource($html)) { if (stream_get_meta_data($html)['seekable'] ?? false) { diff --git a/src/Symfony/Component/Mailer/Bridge/Mailgun/Transport/MailgunHttpTransport.php b/src/Symfony/Component/Mailer/Bridge/Mailgun/Transport/MailgunHttpTransport.php index 7dbbb8dce9dab..1af78bfd1a39a 100644 --- a/src/Symfony/Component/Mailer/Bridge/Mailgun/Transport/MailgunHttpTransport.php +++ b/src/Symfony/Component/Mailer/Bridge/Mailgun/Transport/MailgunHttpTransport.php @@ -53,6 +53,7 @@ public function __toString(): string protected function doSendHttp(SentMessage $message): ResponseInterface { $body = new FormDataPart([ + 'h:sender' => $message->getEnvelope()->getSender()->toString(), 'to' => implode(',', $this->stringifyAddresses($message->getEnvelope()->getRecipients())), 'message' => new DataPart($message->toString(), 'message.mime'), ]); 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