From 548fe209a933755a2090eba5417220d69c4e34c4 Mon Sep 17 00:00:00 2001 From: Davide Bellini Date: Tue, 17 May 2016 00:57:44 +0200 Subject: [PATCH 1/2] [5.2] Fix SparkPost doesn't send attachments #13546 --- src/Illuminate/Mail/Transport/SparkPostTransport.php | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/Illuminate/Mail/Transport/SparkPostTransport.php b/src/Illuminate/Mail/Transport/SparkPostTransport.php index 9fec38354418..faf2f78eaa2f 100644 --- a/src/Illuminate/Mail/Transport/SparkPostTransport.php +++ b/src/Illuminate/Mail/Transport/SparkPostTransport.php @@ -2,6 +2,7 @@ namespace Illuminate\Mail\Transport; +use Swift_Encoding; use Swift_Mime_Message; use GuzzleHttp\ClientInterface; @@ -60,6 +61,16 @@ public function send(Swift_Mime_Message $message, &$failedRecipients = null) ], ]; + if ($attachments = $message->getChildren()) { + $options['json']['content']['attachments'] = array_map(function($attachment) { + return [ + 'type' => $attachment->getContentType(), + 'name' => $attachment->getFileName(), + 'data' => Swift_Encoding::getBase64Encoding()->encodeString($attachment->getBody()), + ]; + }, $attachments); + } + return $this->client->post('https://api.sparkpost.com/api/v1/transmissions', $options); } From f9383bd5cb6008200a3ecf425958607df463e606 Mon Sep 17 00:00:00 2001 From: Davide Bellini Date: Tue, 17 May 2016 01:07:38 +0200 Subject: [PATCH 2/2] CS Fix --- src/Illuminate/Mail/Transport/SparkPostTransport.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Illuminate/Mail/Transport/SparkPostTransport.php b/src/Illuminate/Mail/Transport/SparkPostTransport.php index faf2f78eaa2f..e4479d0baa29 100644 --- a/src/Illuminate/Mail/Transport/SparkPostTransport.php +++ b/src/Illuminate/Mail/Transport/SparkPostTransport.php @@ -62,7 +62,7 @@ public function send(Swift_Mime_Message $message, &$failedRecipients = null) ]; if ($attachments = $message->getChildren()) { - $options['json']['content']['attachments'] = array_map(function($attachment) { + $options['json']['content']['attachments'] = array_map(function ($attachment) { return [ 'type' => $attachment->getContentType(), 'name' => $attachment->getFileName(),