Feature Proposal: Add support for SSL and TLS transport for SMTP
Motivation
GMail requires SSL or TLS. *nix users can support this using a local SMTP daemon, even SSMTP. But Windows users don't have that option.
Description and Documentation
Add a configuration option on the Mail configuration to choose SMTP, SMTP::TLS or SMTP::SSL. Also add checker to verify the dependency if the SSL or TLS method is chosen. and to make the user / password fields required as necessary.
See discussion at
http://irclogs.foswiki.org/bin/irclogger_log/foswiki?date=2011-02-01,Tue&sel=640#l636
Examples
Impact
Implementation
--
Contributors: GeorgeClark - 01 Feb 2011
Discussion
on linux/unix, I use
ssmtp - a sendmail replacement that does the job remarkable well.
however, I've not looked hard to find a similar tool that works on windows (though there is an ssmtp for cygwin, I never recomend cygwin)
--
SvenDowideit - 02 Feb 2011
I was the requester on IRC. I did a quick search and found Net::SMTP::TLS in CPAN. Maybe this module can be used for the Strawberry Perl implementation? A drop-down for the type of Authentication can then overwrite the setting and use the above-mentioned module.
--
SilviuSuceveanu - 02 Feb 2011
I started to implement this feature. SSL appears to be easy to do. However there are issues with TLS. The Perl CPAN module Net::SMTP::TLS appears to be a very incomplete implementation. It crashes if there are any issues with the email address. Net::SMTP permits bad email addresses to be ignored, but the TLS implementation is missing this .. and many other features of the base SMTP class.
I'll probably go ahead and implement SSL support, and hope that a better SMTP::TLS implementation comes along.
--
GeorgeClark - 25 Mar 2011
I managed to get gmail SMTP working using Foswiki. I configured the SMTPHOST to smtp.gmail.com:465.
I then patched Net.pm changed calls to Net::SMTP->new to Net::SMTP::SSL-> new and changed the require. It worked fine.
So just needs a configure option to direct Net.pm to call Net::SMTP::SSL.
Under ubuntu I had to install SMTP SSL support: sudo apt-get install libnet-smtp-ssl-perl
--
JohnMurphy - 13 Jul 2011
The code is competed and merged into the upcoming. 1.1.4. It includes additional configuration settings, config checkers, and was combined with support for S/MIME and a "Test email" button in configure. Thanks for the feedback.
--
GeorgeClark - 14 Jul 2011