Net::SMTP::TLS is an SMTP client supporting TLS and AUTH.
my $mailer = new Net::SMTP::TLS(
Hello => 'some.host.name',
Port => 25, #redundant
User => 'emailguy',
$mailer->datasend("Sent thru TLS!");
Net::SMTP::TLS is a TLS and AUTH capable SMTP client which offers an interface that users will find familiar from Net::SMTP. Net::SMTP::TLS implements a subset of the methods provided by that module, but certainly not (yet) a complete mirror image of that API.
The methods supported by Net::SMTP::TLS are used in the above example. Though self explanatory for the most part, please see the perldoc for Net::SMTP if you are unclear.
The differences in the methods provided are as follows:
The mail method does not take the options list taken by Net::SMTP
The to method also does not take options, and is the only method available to set the recipient (unlike the many synonyms provided by Net::SMTP).
The constructor takes a limited number of Net::SMTP's parameters. The constructor for Net::SMTP::TLS takes the following (in addition to the hostname of the mail server, which must be the first parameter and is not explicitly named):
NoTLS - In the unlikely event that you need to use this class to perform non-TLS SMTP (you ought to be using Net::SMTP itself for that...), this will turn off TLS when supplied with a true value. This will most often cause an error related to authentication when used on a server that requires TLS
Hello - hostname used in the EHLO command
Port - port to connect to the SMTP service (defaults to 25)
Timeout - Timeout for inital socket connection (defaults to 5, passed directly to IO::Socket::INET)
User - username for SMTP AUTH
Password - password for SMTP AUTH