Skip to content

Commit

Permalink
Merge pull request #21 from geekdevs/feature/headers
Browse files Browse the repository at this point in the history
Added support for custom headers
  • Loading branch information
moux2003 authored Aug 30, 2018
2 parents ae85762 + 7a6325a commit c22d54f
Showing 1 changed file with 19 additions and 0 deletions.
19 changes: 19 additions & 0 deletions src/Services/SendGridTransport.php
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,15 @@ class SendGridTransport implements Swift_Transport
*/
private $eventDispatcher;

/**
* Some header keys are reserved. You may not include any of the following reserved keys
* (From SendGrid docs)
*/
const RESERVED_KEYWORDS = [
'x-sg-id', 'x-sg-eid', 'received', 'dkim-signature', 'Content-Type', 'Content-Transfer-Encoding',
'To', 'From', 'Subject', 'Reply-To', 'CC', 'BCC'
];

public function __construct(Swift_Events_EventDispatcher $eventDispatcher, $sendGridApiKey, $sendGridCategories)
{
$this->eventDispatcher = $eventDispatcher;
Expand Down Expand Up @@ -220,6 +229,16 @@ public function send(Swift_Mime_SimpleMessage $message, &$failedRecipients = nul
}
}

// add headers
if ($headers = $message->getHeaders()->getAll()) {
foreach ($headers as $header) {
$headerName = $header->getFieldName();
if (!in_array($headerName, self::RESERVED_KEYWORDS)) {
$mail->addHeader($headerName, $header->getFieldBody());
}
}
}

$sendGrid = new SendGrid($this->sendGridApiKey, $this->httpClientOptions);

$response = $sendGrid->client->mail()->send()->post($mail);
Expand Down

0 comments on commit c22d54f

Please sign in to comment.