55use Swift_Mime_Message ;
66use GuzzleHttp \ClientInterface ;
77
8- trait SparkPostTransportTrait
8+ trait SparkPostTransportTrait
99{
1010 /**
1111 * Guzzle client instance.
@@ -26,11 +26,13 @@ trait SparkPostTransportTrait
2626 *
2727 * @param ClientInterface $client
2828 * @param string $key
29+ * @param array $options
2930 */
30- public function __construct (ClientInterface $ client , $ key )
31+ public function __construct (ClientInterface $ client , $ key, $ options = [] )
3132 {
3233 $ this ->client = $ client ;
3334 $ this ->key = $ key ;
35+ $ this ->options = $ options ;
3436 }
3537
3638 /**
@@ -56,6 +58,10 @@ public function send(Swift_Mime_Message $message, &$failedRecipients = null)
5658 ],
5759 ];
5860
61+ if ($ this ->options ) {
62+ $ options ['json ' ]['options ' ] = $ this ->options ;
63+ }
64+
5965 return $ this ->client ->post ('https://api.sparkpost.com/api/v1/transmissions ' , $ options );
6066 }
6167
@@ -70,7 +76,6 @@ public function send(Swift_Mime_Message $message, &$failedRecipients = null)
7076 protected function getRecipients (Swift_Mime_Message $ message )
7177 {
7278 $ to = [];
73-
7479 if ($ getTo = $ message ->getTo ()) {
7580 $ to = array_merge ($ to , array_keys ($ getTo ));
7681 }
@@ -110,4 +115,4 @@ public function setKey($key)
110115 {
111116 return $ this ->key = $ key ;
112117 }
113- }
118+ }
0 commit comments