[Mailer] Mailjet - properly format Cc and Bcc for API
This commit is contained in:
parent
fc2133087d
commit
e038605dca
@ -85,25 +85,17 @@ class MailjetApiTransport extends AbstractApiTransport
|
||||
[$attachments, $inlines, $html] = $this->prepareAttachments($email, $html);
|
||||
|
||||
$message = [
|
||||
'From' => [
|
||||
'Email' => $envelope->getSender()->getAddress(),
|
||||
'Name' => $envelope->getSender()->getName(),
|
||||
],
|
||||
'To' => array_map(function (Address $recipient) {
|
||||
return [
|
||||
'Email' => $recipient->getAddress(),
|
||||
'Name' => $recipient->getName(),
|
||||
];
|
||||
}, $this->getRecipients($email, $envelope)),
|
||||
'From' => $this->formatAddress($envelope->getSender()),
|
||||
'To' => $this->formatAddresses($this->getRecipients($email, $envelope)),
|
||||
'Subject' => $email->getSubject(),
|
||||
'Attachments' => $attachments,
|
||||
'InlinedAttachments' => $inlines,
|
||||
];
|
||||
if ($emails = $email->getCc()) {
|
||||
$message['Cc'] = implode(',', $this->stringifyAddresses($emails));
|
||||
$message['Cc'] = $this->formatAddresses($emails);
|
||||
}
|
||||
if ($emails = $email->getBcc()) {
|
||||
$message['Bcc'] = implode(',', $this->stringifyAddresses($emails));
|
||||
$message['Bcc'] = $this->formatAddresses($emails);
|
||||
}
|
||||
if ($email->getTextBody()) {
|
||||
$message['TextPart'] = $email->getTextBody();
|
||||
@ -117,6 +109,19 @@ class MailjetApiTransport extends AbstractApiTransport
|
||||
];
|
||||
}
|
||||
|
||||
private function formatAddresses(array $addresses): array
|
||||
{
|
||||
return array_map([$this, 'formatAddress'], $addresses);
|
||||
}
|
||||
|
||||
private function formatAddress(Address $address): array
|
||||
{
|
||||
return [
|
||||
'Email' => $address->getAddress(),
|
||||
'Name' => $address->getName(),
|
||||
];
|
||||
}
|
||||
|
||||
private function prepareAttachments(Email $email, ?string $html): array
|
||||
{
|
||||
$attachments = $inlines = [];
|
||||
|
Reference in New Issue
Block a user