Email::Sender::Transport::SMTP - send email over SMTP


version 1.300036


This transport is used to send email over SMTP, either with or without secure sockets (SSL/TLS). It is one of the most complex transports available, capable of partial success.

For a potentially more efficient version of this transport, see Email::Sender::Transport::SMTP::Persistent.


The following attributes may be passed to the constructor:

hosts: an arrayref of names of the host to try, in order; defaults to a single element array containing localhost

The attribute host may be given, instead, which contains a single hostname.

ssl: if 'starttls', use STARTTLS; if 'ssl' (or 1), connect securely; if 'maybestarttls', use STARTTLS if available; otherwise, no security
ssl_options: passed to Net::SMTP constructor for 'ssl' connections or to starttls for 'starttls' or 'maybestarttls' connections; should contain extra options for IO::Socket::SSL
port: port to connect to; defaults to 25 for non-SSL, 465 for 'ssl', 587 for 'starttls'
timeout: maximum time in secs to wait for server; default is 120
sasl_username: the username to use for auth; optional
sasl_password: the password to use for auth; required if sasl_username is provided
allow_partial_success: if true, will send data even if some recipients were rejected; defaults to false
helo: what to say when saying HELO; no default
localaddr: local address from which to connect
localport: local port from which to connect
debug: if true, put the Net::SMTP object in debug mode


If allow_partial_success was set when creating the transport, the transport may return Email::Sender::Success::Partial objects. Consult that module's documentation.


Ricardo Signes <>


This software is copyright (c) 2021 by Ricardo Signes.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.