TransportFactoryTestCase, extend AbstractTransportFactoryTestCase insteadThe testIncompleteDsnException() test is no longer provided by default. If you make use of it by implementing the incompleteDsnProvider() data providers,
you now need to use the IncompleteDsnTestTrait.
TransportFactoryTestCase compatible with PHPUnit 10+PostmarkDeliveryEvent instead of throwing an exceptionauto_tls to disable automatic STARTTLSrecipients is defined in EnvelopeListenerpeer_fingerprint to verify TLS certificate fingerprintmailjet+smtp transport from 465 to 587MessageEvent::reject() to allow rejecting an email before sending itmailgun+smtp transport from 465 to 587$authenticators parameter in EsmtpTransport constructor and EsmtpTransport::setAuthenticators()
to allow overriding of default eSMTP authenticatorsTransportFactoryTestCase are now static:
supportsProvider(), createProvider(), unsupportedSchemeProvider()and incompleteDsnProvider()mailer:test commandSentMessageEvent and FailedMessageEvent eventsstart() and stop() methods public on SmtpTransportEsmtpTransportHttpTransportException class takes a string at first argumentmailer monolog channel and set it on all transport definitionsNativeTransportFactory to configure a transport based on php.ini settingslocal_domain, restart_threshold, restart_threshold_sleep and ping_threshold options for smtpcommand option for sendmailNullTransport DSN from smtp://null to null://nullSmtpEnvelope to Envelope, renamed DelayedSmtpEnvelope to
DelayedEnvelopeBefore:
dummy://a || dummy://b (for failover) dummy://a && dummy://b (for roundrobin)
After:
failover(dummy://a dummy://b) roundrobin(dummy://a dummy://b)
Mailer instanceauth_mode DSN option (it is now always determined automatically)encryption DSN option (use smtps instead)smtps protocol (does the same as using smtp and port 465)MessageDataCollectorMessageEvents and MessageLoggerListener to allow collecting sent emailsTransportInterface has a new __toString() methodAbstractApiTransport and AbstractHttpTransport moved under Transport sub-namespace.Symfony\Contracts\EventDispatcher\EventDispatcherInterface
instead of Symfony\Component\EventDispatcher\EventDispatcherInterface.Symfony\Component\Mailer\Transport\TransportFactoryInterface and tagging with mailer.transport_factory tag in DI.Symfony\Component\Mailer\Test\TransportFactoryTestCase to ease testing custom transport factories.SentMessage::getDebug() and TransportExceptionInterface::getDebug to help debuggingMessageEvent finalverify_peer to disable TLS peer verification for SMTP transport