|
17 | 17 | use Symfony\Component\Mailer\SmtpEnvelope;
|
18 | 18 | use Symfony\Component\Mailer\Transport\Http\Api\AbstractApiTransport;
|
19 | 19 | use Symfony\Component\Mime\Email;
|
| 20 | +use Symfony\Component\Mime\NamedAddress; |
20 | 21 | use Symfony\Contracts\HttpClient\HttpClientInterface;
|
21 | 22 |
|
22 | 23 | /**
|
@@ -60,11 +61,15 @@ private function getPayload(Email $email, SmtpEnvelope $envelope): array
|
60 | 61 | 'html' => $email->getHtmlBody(),
|
61 | 62 | 'text' => $email->getTextBody(),
|
62 | 63 | 'subject' => $email->getSubject(),
|
63 |
| - 'from_email' => $envelope->getSender()->toString(), |
| 64 | + 'from_email' => $envelope->getSender()->getAddress(), |
64 | 65 | 'to' => $this->getRecipients($email, $envelope),
|
65 | 66 | ],
|
66 | 67 | ];
|
67 | 68 |
|
| 69 | + if ($envelope->getSender() instanceof NamedAddress) { |
| 70 | + $payload['message']['from_name'] = $envelope->getSender()->getName(); |
| 71 | + } |
| 72 | + |
68 | 73 | foreach ($email->getAttachments() as $attachment) {
|
69 | 74 | $headers = $attachment->getPreparedHeaders();
|
70 | 75 | $disposition = $headers->getHeaderBody('Content-Disposition');
|
@@ -104,10 +109,16 @@ protected function getRecipients(Email $email, SmtpEnvelope $envelope): array
|
104 | 109 | $type = 'cc';
|
105 | 110 | }
|
106 | 111 |
|
107 |
| - $recipients[] = [ |
108 |
| - 'email' => $recipient->toString(), |
| 112 | + $recipientPayload = [ |
| 113 | + 'email' => $recipient->getAddress(), |
109 | 114 | 'type' => $type,
|
110 | 115 | ];
|
| 116 | + |
| 117 | + if ($recipient instanceof NamedAddress) { |
| 118 | + $recipientPayload['name'] = $recipient->getName(); |
| 119 | + } |
| 120 | + |
| 121 | + $recipients[] = $recipientPayload; |
111 | 122 | }
|
112 | 123 |
|
113 | 124 | return $recipients;
|
|
0 commit comments