Skip to content

Commit e33c97a

Browse files
committed
[Mailer] Mailjet API - Handle custom headers
1 parent 407f5f2 commit e33c97a

File tree

1 file changed

+17
-0
lines changed

1 file changed

+17
-0
lines changed

src/Symfony/Component/Mailer/Bridge/Mailjet/Transport/MailjetApiTransport.php

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,15 @@ class MailjetApiTransport extends AbstractApiTransport
2626
{
2727
private const HOST = 'api.mailjet.com';
2828
private const API_VERSION = '3.1';
29+
private const FORBIDDEN_HEADERS = [
30+
'Date', 'X-CSA-Complaints', 'Message-Id', 'X-Mailjet-Campaign', 'X-MJ-StatisticsContactsListID',
31+
'DomainKey-Status', 'Received-SPF', 'Authentication-Results', 'Received', 'X-Mailjet-Prio',
32+
'From', 'Sender', 'Subject', 'To', 'Cc', 'Bcc', 'Return-Path', 'Delivered-To', 'DKIM-Signature',
33+
'X-Feedback-Id', 'X-Mailjet-Segmentation', 'List-Id', 'X-MJ-MID', 'X-MJ-ErrorMessage',
34+
'X-MJ-TemplateErrorDeliver', 'X-MJ-TemplateErrorReporting', 'X-MJ-TemplateLanguage',
35+
'X-Mailjet-Debug', 'User-Agent', 'X-Mailer', 'X-MJ-CustomID', 'X-MJ-EventPayload', 'X-MJ-Vars',
36+
'X-Mailjet-TrackOpen', 'X-Mailjet-TrackClick', 'X-MJ-TemplateID', 'X-MJ-WorkflowID',
37+
];
2938

3039
private $privateKey;
3140
private $publicKey;
@@ -104,6 +113,14 @@ private function getPayload(Email $email, Envelope $envelope): array
104113
$message['HTMLPart'] = $html;
105114
}
106115

116+
foreach ($email->getHeaders()->all() as $header) {
117+
if (\in_array($header->getName(), self::FORBIDDEN_HEADERS, true)) {
118+
continue;
119+
}
120+
121+
$message['Headers'][$header->getName()] = $header->getBodyAsString();
122+
}
123+
107124
return [
108125
'Messages' => [$message],
109126
];

0 commit comments

Comments
 (0)