- Dispatch Postmark's "406 - Inactive recipient" API error code as a
PostmarkDeliveryEvent
instead of throwing an exception - Add DSN param
auto_tls
to disable automatic STARTTLS - Add support for allowing some users even if
recipients
is defined inEnvelopeListener
- Remove the OhMySmtp bridge in favor of the MailPace bridge
- Add DSN parameter
peer_fingerprint
to verify TLS certificate fingerprint - Change the default port for the
mailjet+smtp
transport from 465 to 587
- Add
MessageEvent::reject()
to allow rejecting an email before sending it - Change the default port for the
mailgun+smtp
transport from 465 to 587 - Add
$authenticators
parameter inEsmtpTransport
constructor andEsmtpTransport::setAuthenticators()
to allow overriding of default eSMTP authenticators
- [BC BREAK] The following data providers for
TransportFactoryTestCase
are now static:supportsProvider()
,createProvider()
,unsupportedSchemeProvider()
andincompleteDsnProvider()
- Add a
mailer:test
command - Add
SentMessageEvent
andFailedMessageEvent
events
- Make
start()
andstop()
methods public onSmtpTransport
- Improve extensibility of
EsmtpTransport
- The
HttpTransportException
class takes a string at first argument
- Enable the mailer to operate on any PSR-14-compatible event dispatcher
- added the
mailer
monolog channel and set it on all transport definitions
- added
NativeTransportFactory
to configure a transport based on php.ini settings - added
local_domain
,restart_threshold
,restart_threshold_sleep
andping_threshold
options forsmtp
- added
command
option forsendmail
-
[BC BREAK] changed the
NullTransport
DSN fromsmtp://null
tonull://null
-
[BC BREAK] renamed
SmtpEnvelope
toEnvelope
, renamedDelayedSmtpEnvelope
toDelayedEnvelope
-
[BC BREAK] changed the syntax for failover and roundrobin DSNs
Before:
dummy://a || dummy://b (for failover) dummy://a && dummy://b (for roundrobin)
After:
failover(dummy://a dummy://b) roundrobin(dummy://a dummy://b)
-
added support for multiple transports on a
Mailer
instance -
[BC BREAK] removed the
auth_mode
DSN option (it is now always determined automatically) -
STARTTLS cannot be enabled anymore (it is used automatically if TLS is disabled and the server supports STARTTLS)
-
[BC BREAK] Removed the
encryption
DSN option (usesmtps
instead) -
Added support for the
smtps
protocol (does the same as usingsmtp
and port465
) -
Added PHPUnit constraints
-
Added
MessageDataCollector
-
Added
MessageEvents
andMessageLoggerListener
to allow collecting sent emails -
[BC BREAK]
TransportInterface
has a new__toString()
method -
[BC BREAK] Classes
AbstractApiTransport
andAbstractHttpTransport
moved underTransport
sub-namespace. -
[BC BREAK] Transports depend on
Symfony\Contracts\EventDispatcher\EventDispatcherInterface
instead ofSymfony\Component\EventDispatcher\EventDispatcherInterface
. -
Added possibility to register custom transport for dsn by implementing
Symfony\Component\Mailer\Transport\TransportFactoryInterface
and tagging withmailer.transport_factory
tag in DI. -
Added
Symfony\Component\Mailer\Test\TransportFactoryTestCase
to ease testing custom transport factories. -
Added
SentMessage::getDebug()
andTransportExceptionInterface::getDebug
to help debugging -
Made
MessageEvent
final -
add DSN parameter
verify_peer
to disable TLS peer verification for SMTP transport
- Added the component.