From a367077ba2aecf4564982d047edbc9d77c1b4f0b Mon Sep 17 00:00:00 2001 From: Zoltan Muranyi Date: Wed, 8 Oct 2025 09:17:29 +0200 Subject: [PATCH 1/3] change getMediaType to getContentType --- src/MicrosoftGraphTransport.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/MicrosoftGraphTransport.php b/src/MicrosoftGraphTransport.php index aac89be..b47e74a 100644 --- a/src/MicrosoftGraphTransport.php +++ b/src/MicrosoftGraphTransport.php @@ -79,7 +79,7 @@ protected function prepareAttachments(Email $email, ?string $html): array $attachments[] = [ '@odata.type' => '#microsoft.graph.fileAttachment', 'name' => $fileName, - 'contentType' => $attachment->getMediaType(), + 'contentType' => $attachment->getContentType(), 'contentBytes' => base64_encode($attachment->getBody()), 'contentId' => $fileName, 'isInline' => $headers->getHeaderBody('Content-Disposition') === 'inline', From 97a4f6ae29c5758d1f32a6d56bcc261cb27e5d9e Mon Sep 17 00:00:00 2001 From: Zoltan Muranyi Date: Wed, 8 Oct 2025 11:53:13 +0200 Subject: [PATCH 2/3] fix testsuite --- tests/MicrosoftGraphTransportTest.php | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/tests/MicrosoftGraphTransportTest.php b/tests/MicrosoftGraphTransportTest.php index 3d24e0b..e678147 100644 --- a/tests/MicrosoftGraphTransportTest.php +++ b/tests/MicrosoftGraphTransportTest.php @@ -77,7 +77,7 @@ [ '@odata.type' => '#microsoft.graph.fileAttachment', 'name' => 'test-file-1.txt', - 'contentType' => 'text', + 'contentType' => 'text/plain', 'contentBytes' => 'Zm9vCg==', 'contentId' => 'test-file-1.txt', 'isInline' => false, @@ -85,7 +85,7 @@ [ '@odata.type' => '#microsoft.graph.fileAttachment', 'name' => 'test-file-2.txt', - 'contentType' => 'text', + 'contentType' => 'text/plain', 'contentBytes' => 'Zm9vCg==', 'contentId' => 'test-file-2.txt', 'isInline' => false, @@ -163,7 +163,7 @@ [ '@odata.type' => '#microsoft.graph.fileAttachment', 'name' => 'test-file-1.txt', - 'contentType' => 'text', + 'contentType' => 'text/plain', 'contentBytes' => 'Zm9vCg==', 'contentId' => 'test-file-1.txt', 'isInline' => false, @@ -171,7 +171,7 @@ [ '@odata.type' => '#microsoft.graph.fileAttachment', 'name' => 'test-file-2.txt', - 'contentType' => 'text', + 'contentType' => 'text/plain', 'contentBytes' => 'Zm9vCg==', 'contentId' => 'test-file-2.txt', 'isInline' => false, @@ -418,7 +418,7 @@ [ '@odata.type' => '#microsoft.graph.fileAttachment', 'name' => $inlineImageContentId, - 'contentType' => 'image', + 'contentType' => 'image/jpeg', 'contentBytes' => '/9j/4AAQSkZJRgABAQEASABIAAD//gATQ3JlYXRlZCB3aXRoIEdJTVD/2wBDAAMCAgMCAgMDAwMEAwMEBQgFBQQEBQoHBwYIDAoMDAsKCwsNDhIQDQ4RDgsLEBYQERMUFRUVDA8XGBYUGBIUFRT/2wBDAQMEBAUEBQkFBQkUDQsNFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBT/wgARCABLAGQDAREAAhEBAxEB/8QAFQABAQAAAAAAAAAAAAAAAAAAAAj/xAAWAQEBAQAAAAAAAAAAAAAAAAAABQj/2gAMAwEAAhADEAAAAZ71TDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH/xAAUEAEAAAAAAAAAAAAAAAAAAABw/9oACAEBAAEFAgL/xAAUEQEAAAAAAAAAAAAAAAAAAABw/9oACAEDAQE/AQL/xAAUEQEAAAAAAAAAAAAAAAAAAABw/9oACAECAQE/AQL/xAAUEAEAAAAAAAAAAAAAAAAAAABw/9oACAEBAAY/AgL/xAAUEAEAAAAAAAAAAAAAAAAAAABw/9oACAEBAAE/IQL/2gAMAwEAAgADAAAAEEkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkv/xAAUEQEAAAAAAAAAAAAAAAAAAABw/9oACAEDAQE/EAL/xAAUEQEAAAAAAAAAAAAAAAAAAABw/9oACAECAQE/EAL/xAAUEAEAAAAAAAAAAAAAAAAAAABw/9oACAEBAAE/EAL/2Q==', 'contentId' => $inlineImageContentId, 'isInline' => true, @@ -499,7 +499,7 @@ [ '@odata.type' => '#microsoft.graph.fileAttachment', 'name' => 'test-file-1.txt', - 'contentType' => 'text', + 'contentType' => 'text/plain', 'contentBytes' => 'Zm9vCg==', 'contentId' => 'test-file-1.txt', 'isInline' => false, @@ -507,7 +507,7 @@ [ '@odata.type' => '#microsoft.graph.fileAttachment', 'name' => 'test-file-2.txt', - 'contentType' => 'text', + 'contentType' => 'text/plain', 'contentBytes' => 'Zm9vCg==', 'contentId' => 'test-file-2.txt', 'isInline' => false, @@ -586,7 +586,7 @@ [ '@odata.type' => '#microsoft.graph.fileAttachment', 'name' => 'test-file-1.txt', - 'contentType' => 'text', + 'contentType' => 'text/plain', 'contentBytes' => 'Zm9vCg==', 'contentId' => 'test-file-1.txt', 'isInline' => false, @@ -594,7 +594,7 @@ [ '@odata.type' => '#microsoft.graph.fileAttachment', 'name' => 'test-file-2.txt', - 'contentType' => 'text', + 'contentType' => 'text/plain', 'contentBytes' => 'Zm9vCg==', 'contentId' => 'test-file-2.txt', 'isInline' => false, From b3aaf9092751f0f5531a61ae9a36a345c0e06128 Mon Sep 17 00:00:00 2001 From: Zoltan Muranyi Date: Wed, 8 Oct 2025 13:11:23 +0200 Subject: [PATCH 3/3] symfony/mime 6.X compatible contentType --- src/MicrosoftGraphTransport.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/MicrosoftGraphTransport.php b/src/MicrosoftGraphTransport.php index b47e74a..b519fd4 100644 --- a/src/MicrosoftGraphTransport.php +++ b/src/MicrosoftGraphTransport.php @@ -79,7 +79,7 @@ protected function prepareAttachments(Email $email, ?string $html): array $attachments[] = [ '@odata.type' => '#microsoft.graph.fileAttachment', 'name' => $fileName, - 'contentType' => $attachment->getContentType(), + 'contentType' => implode('/', [$attachment->getMediaType(), $attachment->getMediaSubtype()]), 'contentBytes' => base64_encode($attachment->getBody()), 'contentId' => $fileName, 'isInline' => $headers->getHeaderBody('Content-Disposition') === 'inline',