diff options
author | Vincent Song <vincent.wsong@gmail.com> | 2016-06-13 14:57:56 -0400 |
---|---|---|
committer | Vincent Song <vincent.wsong@gmail.com> | 2016-06-13 14:57:56 -0400 |
commit | 39abd627feb8ccd0803880c272e04073ed9fd41f (patch) | |
tree | 51736255ee089251d55d302788e57461c3dade46 | |
parent | 8165433cbe36fb4a59b802e3892d746202757f0b (diff) | |
download | php-sparkpost-39abd627feb8ccd0803880c272e04073ed9fd41f.zip php-sparkpost-39abd627feb8ccd0803880c272e04073ed9fd41f.tar.gz php-sparkpost-39abd627feb8ccd0803880c272e04073ed9fd41f.tar.bz2 |
BCCs and CCs now send properly
-rw-r--r-- | lib/SparkPost/Transmission.php | 37 |
1 files changed, 18 insertions, 19 deletions
diff --git a/lib/SparkPost/Transmission.php b/lib/SparkPost/Transmission.php index 135eb7c..a37a13c 100644 --- a/lib/SparkPost/Transmission.php +++ b/lib/SparkPost/Transmission.php @@ -49,20 +49,17 @@ class Transmission extends Resource public function fixCarbonCopy($payload) { - $ccCustomHeadersList = ""; + $ccRecipients = array(); $modifiedPayload = $payload; $ccList = &$modifiedPayload['cc']; $recipientsList = &$modifiedPayload['recipients']; - //var_dump($ccList); - - //if a name exists, then do "name" <email>. Otherwise, just do <email> + //If a name exists, then use format "name" <email>. Otherwise, use format <email> if(isset($modifiedPayload['recipients'][0]['name'])) { $originalRecipient = '"' . $modifiedPayload['recipients'][0]['name'] . '" <' . $modifiedPayload['recipients'][0]['address'] . '>'; } else { - $originalRecipient = '<' . $modifiedPayload['recipients'][0]['address'] - . '<'; + $originalRecipient = $modifiedPayload['recipients'][0]['address']; } if(isset($ccList)){ @@ -71,22 +68,25 @@ class Transmission extends Resource 'address' => $ccRecipient['address'], 'header_to' => $originalRecipient, ]; - //if name exists, then use "Name" <Email> format. Otherwise, just email will suffice. - if(isset($ccRecipient['name'])) { - $ccCustomHeadersList = $ccCustomHeadersList . ' "' . $ccRecipient['name'] - . '" <' . $ccRecipient['address'] . '>,'; + if(is_array($ccRecipient['address'])) { + $ccRecipientData = ' "' . $ccRecipient['address']['name'] . '" ' . '<' . $ccRecipient['address']['email'] . '>'; + } else { - $ccCustomHeadersList = $ccCustomHeadersList . ' ' . $ccRecipient['address']; + $ccRecipientData = $ccRecipient['address']; } + array_push($ccRecipients, $ccRecipientData); array_push($recipientsList, $newRecipient); - } + } - if(!empty($ccCustomHeadersList)){ //If there are CC'd people - $this->customHeaders = array("CC" => $ccCustomHeadersList); + if(!empty($ccRecipients)){ //If there are CC'd people + $this->customHeaders = array("CC" => implode(',', $ccRecipients)); } - //Edits customHeaders and adds array of CSV list of CC emails + //create new object 'headers' under content + $content = &$modifiedPayload['content']; + $content['headers'] = $this->customHeaders; + } //delete CC @@ -97,10 +97,9 @@ class Transmission extends Resource public function post($payload) { - $modifiedPayload = $this->fixBlindCarbonCopy($payload); //Accounts for any BCCs - $modifiedPayload = $this->fixCarbonCopy($modifiedPayload); //Accounts for any CCs - var_dump($this->customHeaders); - return parent::post($modifiedPayload, $this->customHeader); + $modifiedPayload = $this->fixBlindCarbonCopy($payload); //Fixes BCCs into payload + $modifiedPayload = $this->fixCarbonCopy($modifiedPayload); //Fixes CCs into payload + return parent::post($modifiedPayload, $this->customHeaders); } } |