From 812d7a907d4caa5ea39c9f2fe00dcb96096803f8 Mon Sep 17 00:00:00 2001 From: Roberto Guido Date: Sat, 27 Jan 2024 19:23:23 +0100 Subject: [PATCH] [Mailer] [Scaleway] Fix attachment handling --- .../Scaleway/Tests/Transport/ScalewayApiTransportTest.php | 8 +++++++- .../Bridge/Scaleway/Transport/ScalewayApiTransport.php | 4 ++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/src/Symfony/Component/Mailer/Bridge/Scaleway/Tests/Transport/ScalewayApiTransportTest.php b/src/Symfony/Component/Mailer/Bridge/Scaleway/Tests/Transport/ScalewayApiTransportTest.php index 74387d234d148..0d91d002cd21c 100644 --- a/src/Symfony/Component/Mailer/Bridge/Scaleway/Tests/Transport/ScalewayApiTransportTest.php +++ b/src/Symfony/Component/Mailer/Bridge/Scaleway/Tests/Transport/ScalewayApiTransportTest.php @@ -18,6 +18,7 @@ use Symfony\Component\Mailer\Exception\HttpTransportException; use Symfony\Component\Mime\Address; use Symfony\Component\Mime\Email; +use Symfony\Component\Mime\Part\DataPart; use Symfony\Contracts\HttpClient\ResponseInterface; class ScalewayApiTransportTest extends TestCase @@ -64,6 +65,10 @@ public function testSend() $this->assertSame(['email' => 'saif.gmati@symfony.com', 'name' => 'Saif Eddin'], $body['to'][0]); $this->assertSame('Hello!', $body['subject']); $this->assertSame('Hello There!', $body['text']); + $this->assertCount(1, $body['attachments']); + $this->assertSame('attachment.txt', $body['attachments'][0]['name']); + $this->assertSame('text/plain', $body['attachments'][0]['type']); + $this->assertSame(base64_encode('some attachment'), $body['attachments'][0]['content']); return new JsonMockResponse(['emails' => [['message_id' => 'foobar']]], [ 'http_code' => 200, @@ -76,7 +81,8 @@ public function testSend() $mail->subject('Hello!') ->to(new Address('saif.gmati@symfony.com', 'Saif Eddin')) ->from(new Address('fabpot@symfony.com', 'Fabien')) - ->text('Hello There!'); + ->text('Hello There!') + ->addPart(new DataPart('some attachment', 'attachment.txt', 'text/plain')); $message = $transport->send($mail); diff --git a/src/Symfony/Component/Mailer/Bridge/Scaleway/Transport/ScalewayApiTransport.php b/src/Symfony/Component/Mailer/Bridge/Scaleway/Transport/ScalewayApiTransport.php index 3c824276a5ca5..60cb198d3b5ab 100644 --- a/src/Symfony/Component/Mailer/Bridge/Scaleway/Transport/ScalewayApiTransport.php +++ b/src/Symfony/Component/Mailer/Bridge/Scaleway/Transport/ScalewayApiTransport.php @@ -99,7 +99,7 @@ private function getPayload(Email $email, Envelope $envelope): array $payload['html'] = $email->getHtmlBody(); } if ($attachements = $this->prepareAttachments($email)) { - $payload['attachment'] = $attachements; + $payload['attachments'] = $attachements; } return $payload; @@ -115,7 +115,7 @@ private function prepareAttachments(Email $email): array $attachments[] = [ 'name' => $filename, 'type' => $headers->get('Content-Type')->getBody(), - 'content' => base64_encode($attachment->bodyToString()), + 'content' => str_replace("\r\n", '', $attachment->bodyToString()), ]; } pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy