diff --git a/src/Symfony/Component/Mailer/Bridge/Sendgrid/RemoteEvent/SendgridPayloadConverter.php b/src/Symfony/Component/Mailer/Bridge/Sendgrid/RemoteEvent/SendgridPayloadConverter.php index f10e147647f2b..c73ffea03c479 100644 --- a/src/Symfony/Component/Mailer/Bridge/Sendgrid/RemoteEvent/SendgridPayloadConverter.php +++ b/src/Symfony/Component/Mailer/Bridge/Sendgrid/RemoteEvent/SendgridPayloadConverter.php @@ -51,7 +51,7 @@ public function convert(array $payload): AbstractMailerEvent $event->setDate($date); $event->setRecipientEmail($payload['email']); $event->setMetadata([]); - $event->setTags($payload['category'] ?? []); + $event->setTags((array) ($payload['category'] ?? [])); return $event; } diff --git a/src/Symfony/Component/Mailer/Bridge/Sendgrid/Tests/RemoteEvent/SendgridPayloadConverterTest.php b/src/Symfony/Component/Mailer/Bridge/Sendgrid/Tests/RemoteEvent/SendgridPayloadConverterTest.php index f7201b373aa86..02811744468e3 100644 --- a/src/Symfony/Component/Mailer/Bridge/Sendgrid/Tests/RemoteEvent/SendgridPayloadConverterTest.php +++ b/src/Symfony/Component/Mailer/Bridge/Sendgrid/Tests/RemoteEvent/SendgridPayloadConverterTest.php @@ -112,4 +112,20 @@ public function testAsynchronousBounce() $this->assertInstanceOf(MailerDeliveryEvent::class, $event); $this->assertSame('123456', $event->getId()); } + + public function testWithStringCategory() + { + $converter = new SendgridPayloadConverter(); + + $event = $converter->convert([ + 'event' => 'processed', + 'sg_message_id' => '123456', + 'timestamp' => '123456789', + 'email' => 'test@example.com', + 'category' => 'cat facts', + ]); + + $this->assertInstanceOf(MailerDeliveryEvent::class, $event); + $this->assertSame(['cat facts'], $event->getTags()); + } }