From 60f49febad70cb6ebf3b3be856a74c89c17a5aeb Mon Sep 17 00:00:00 2001 From: Fabien Potencier Date: Sun, 24 Jul 2022 15:08:00 +0200 Subject: [PATCH] [Mailer] Throw a more specific exception when a BodyRendererInterface is needed by not configured --- .../Component/Mailer/EventListener/MessageListener.php | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/Symfony/Component/Mailer/EventListener/MessageListener.php b/src/Symfony/Component/Mailer/EventListener/MessageListener.php index 951b5a4d81ab..9688ddddc394 100644 --- a/src/Symfony/Component/Mailer/EventListener/MessageListener.php +++ b/src/Symfony/Component/Mailer/EventListener/MessageListener.php @@ -11,10 +11,12 @@ namespace Symfony\Component\Mailer\EventListener; +use Symfony\Bridge\Twig\Mime\TemplatedEmail; use Symfony\Component\EventDispatcher\EventSubscriberInterface; use Symfony\Component\Mailer\Event\MessageEvent; use Symfony\Component\Mailer\Exception\InvalidArgumentException; use Symfony\Component\Mailer\Exception\RuntimeException; +use Symfony\Component\Mailer\Exception\LogicException; use Symfony\Component\Mime\BodyRendererInterface; use Symfony\Component\Mime\Header\Headers; use Symfony\Component\Mime\Header\MailboxListHeader; @@ -119,6 +121,10 @@ private function setHeaders(Message $message): void private function renderMessage(Message $message): void { if (!$this->renderer) { + if ($message instanceof TemplatedEmail && ($message->getTextTemplate() || $message->getHtmlTemplate())) { + throw new LogicException(sprintf('You must configure a "%s" when a "%s" instance has a text or HTML template set.', BodyRendererInterface::class, get_debug_type($message))); + } + return; }