summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVincent Song <vincent.wsong@gmail.com>2016-06-13 14:57:56 -0400
committerVincent Song <vincent.wsong@gmail.com>2016-06-13 14:57:56 -0400
commit39abd627feb8ccd0803880c272e04073ed9fd41f (patch)
tree51736255ee089251d55d302788e57461c3dade46
parent8165433cbe36fb4a59b802e3892d746202757f0b (diff)
downloadphp-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.php37
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);
}
}