13
13
14
14
use Psr \Log \LoggerInterface ;
15
15
use Psr \Log \NullLogger ;
16
- use Symfony \Component \EventDispatcher \EventDispatcher ;
17
16
use Symfony \Component \Mailer \DelayedSmtpEnvelope ;
18
17
use Symfony \Component \Mailer \Event \MessageEvent ;
19
18
use Symfony \Component \Mailer \Exception \TransportException ;
@@ -35,7 +34,7 @@ abstract class AbstractTransport implements TransportInterface
35
34
36
35
public function __construct (EventDispatcherInterface $ dispatcher = null , LoggerInterface $ logger = null )
37
36
{
38
- $ this ->dispatcher = $ dispatcher ?: new EventDispatcher () ;
37
+ $ this ->dispatcher = $ dispatcher ;
39
38
$ this ->logger = $ logger ?: new NullLogger ();
40
39
}
41
40
@@ -67,14 +66,17 @@ public function send(RawMessage $message, SmtpEnvelope $envelope = null): ?SentM
67
66
}
68
67
}
69
68
70
- $ event = new MessageEvent ($ message , $ envelope , (string ) $ this );
71
- $ this ->dispatcher ->dispatch ($ event );
72
- $ envelope = $ event ->getEnvelope ();
69
+ if (null !== $ this ->dispatcher ) {
70
+ $ event = new MessageEvent ($ message , $ envelope , (string ) $ this );
71
+ $ this ->dispatcher ->dispatch ($ event );
72
+ $ envelope = $ event ->getEnvelope ();
73
+ }
74
+
73
75
if (!$ envelope ->getRecipients ()) {
74
76
return null ;
75
77
}
76
78
77
- $ message = new SentMessage ($ event -> getMessage () , $ envelope );
79
+ $ message = new SentMessage ($ message , $ envelope );
78
80
$ this ->doSend ($ message );
79
81
80
82
$ this ->checkThrottling ();
0 commit comments