Skip to content

Commit e834ade

Browse files
Merge branch '4.4'
* 4.4: [DI] add `LazyString` for lazy computation of string values injected into services [Dotenv] allow LF in single-quoted strings Replace STDIN by php://stdin [Yaml] Throw exception for tagged invalid inline elements [Mailer] Fix Mandrill Transport API payload with named addresses [HttpClient] improve StreamWrapper
2 parents 9ab06e2 + 391d1bb commit e834ade

File tree

2 files changed

+28
-6
lines changed

2 files changed

+28
-6
lines changed

Mailchimp/Transport/MandrillApiTransport.php

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
use Symfony\Component\Mailer\SentMessage;
1818
use Symfony\Component\Mailer\Transport\AbstractApiTransport;
1919
use Symfony\Component\Mime\Email;
20+
use Symfony\Component\Mime\NamedAddress;
2021
use Symfony\Contracts\EventDispatcher\EventDispatcherInterface;
2122
use Symfony\Contracts\HttpClient\HttpClientInterface;
2223
use Symfony\Contracts\HttpClient\ResponseInterface;
@@ -75,11 +76,15 @@ private function getPayload(Email $email, Envelope $envelope): array
7576
'html' => $email->getHtmlBody(),
7677
'text' => $email->getTextBody(),
7778
'subject' => $email->getSubject(),
78-
'from_email' => $envelope->getSender()->toString(),
79+
'from_email' => $envelope->getSender()->getAddress(),
7980
'to' => $this->getRecipients($email, $envelope),
8081
],
8182
];
8283

84+
if ($envelope->getSender() instanceof NamedAddress) {
85+
$payload['message']['from_name'] = $envelope->getSender()->getName();
86+
}
87+
8388
foreach ($email->getAttachments() as $attachment) {
8489
$headers = $attachment->getPreparedHeaders();
8590
$disposition = $headers->getHeaderBody('Content-Disposition');
@@ -119,10 +124,16 @@ protected function getRecipients(Email $email, Envelope $envelope): array
119124
$type = 'cc';
120125
}
121126

122-
$recipients[] = [
123-
'email' => $recipient->toString(),
127+
$recipientPayload = [
128+
'email' => $recipient->getAddress(),
124129
'type' => $type,
125130
];
131+
132+
if ($recipient instanceof NamedAddress) {
133+
$recipientPayload['name'] = $recipient->getName();
134+
}
135+
136+
$recipients[] = $recipientPayload;
126137
}
127138

128139
return $recipients;

MandrillApiTransport.php

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
use Symfony\Component\Mailer\SentMessage;
1818
use Symfony\Component\Mailer\Transport\AbstractApiTransport;
1919
use Symfony\Component\Mime\Email;
20+
use Symfony\Component\Mime\NamedAddress;
2021
use Symfony\Contracts\EventDispatcher\EventDispatcherInterface;
2122
use Symfony\Contracts\HttpClient\HttpClientInterface;
2223
use Symfony\Contracts\HttpClient\ResponseInterface;
@@ -75,11 +76,15 @@ private function getPayload(Email $email, Envelope $envelope): array
7576
'html' => $email->getHtmlBody(),
7677
'text' => $email->getTextBody(),
7778
'subject' => $email->getSubject(),
78-
'from_email' => $envelope->getSender()->toString(),
79+
'from_email' => $envelope->getSender()->getAddress(),
7980
'to' => $this->getRecipients($email, $envelope),
8081
],
8182
];
8283

84+
if ($envelope->getSender() instanceof NamedAddress) {
85+
$payload['message']['from_name'] = $envelope->getSender()->getName();
86+
}
87+
8388
foreach ($email->getAttachments() as $attachment) {
8489
$headers = $attachment->getPreparedHeaders();
8590
$disposition = $headers->getHeaderBody('Content-Disposition');
@@ -119,10 +124,16 @@ protected function getRecipients(Email $email, Envelope $envelope): array
119124
$type = 'cc';
120125
}
121126

122-
$recipients[] = [
123-
'email' => $recipient->toString(),
127+
$recipientPayload = [
128+
'email' => $recipient->getAddress(),
124129
'type' => $type,
125130
];
131+
132+
if ($recipient instanceof NamedAddress) {
133+
$recipientPayload['name'] = $recipient->getName();
134+
}
135+
136+
$recipients[] = $recipientPayload;
126137
}
127138

128139
return $recipients;

0 commit comments

Comments
 (0)