From 55d6a65df9c1af1329faef10dea102c0469a3f7b Mon Sep 17 00:00:00 2001 From: Fabien Potencier Date: Thu, 29 Aug 2019 09:16:18 +0200 Subject: [PATCH] [Mailer] Remove the default dispatcher in AbstractTransport --- .../Mailer/Transport/AbstractTransport.php | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/src/Symfony/Component/Mailer/Transport/AbstractTransport.php b/src/Symfony/Component/Mailer/Transport/AbstractTransport.php index 2b1fd87b74..d74e2855ff 100644 --- a/src/Symfony/Component/Mailer/Transport/AbstractTransport.php +++ b/src/Symfony/Component/Mailer/Transport/AbstractTransport.php @@ -13,7 +13,6 @@ namespace Symfony\Component\Mailer\Transport; use Psr\Log\LoggerInterface; use Psr\Log\NullLogger; -use Symfony\Component\EventDispatcher\EventDispatcher; use Symfony\Component\EventDispatcher\EventDispatcherInterface; use Symfony\Component\Mailer\DelayedSmtpEnvelope; use Symfony\Component\Mailer\Event\MessageEvent; @@ -37,7 +36,7 @@ abstract class AbstractTransport implements TransportInterface public function __construct(EventDispatcherInterface $dispatcher = null, LoggerInterface $logger = null) { - $this->dispatcher = $dispatcher ?: new EventDispatcher(); + $this->dispatcher = $dispatcher; $this->logger = $logger ?: new NullLogger(); } @@ -69,14 +68,18 @@ abstract class AbstractTransport implements TransportInterface } } - $event = new MessageEvent($message, $envelope); - $this->dispatcher->dispatch($event); - $envelope = $event->getEnvelope(); + if (null !== $this->dispatcher) { + $event = new MessageEvent($message, $envelope); + $this->dispatcher->dispatch($event); + $envelope = $event->getEnvelope(); + $message = $event->getMessage(); + } + if (!$envelope->getRecipients()) { return null; } - $message = new SentMessage($event->getMessage(), $envelope); + $message = new SentMessage($message, $envelope); $this->doSend($message); $this->checkThrottling();