I've run a syntax check on it and it checks out okay, syntax-wise.
I'm now wondering if there's server configuration that's not quite right. If so, it may take me a while to figure it out.
| [reply] |
Subtle goofs in indirect object syntax do not always produce parse errors in my experience. Sometimes the code will parse fine, but give incorrect behavior at runtime.
More broadly, all versions of SSL are deprecated due to known security holes and TLS is the standard replacement. The server may be correctly configured to no longer accept SSL connections at all. The only good reason to be using SSL these days is to talk to an old server that does not support TLS. Is there a particular reason you want this connection to use SSL?
| [reply] |
This is not about modern TLS vs. old SSL. Net::SMTP::SSL vs. Net::SMTP::TLS is about implicit SSL/TLS (i.e. SMTPS, port 465) vs. explicit SSL/TLS (STARTTLS, port 25 or 587). And to add more to this naming confusion: TLS is actually just the new name for SSL, i.e. TLS 1.0 is SSL 3.1, TLS 1.2 is SSL version 3.3 etc. SSL 2.0 on the other hand is a very different protocol. This means that when somebody is talking about SSL or TLS or SSL/TLS they usually mean the same, except when they are talking about specific versions of the protocol.
I personally would suggest to use new versions of Net::SMTP (starting with libnet 3.x) which now has support for both explicit and implicit SSL/TLS and also for IPv6 - how it should have been from the start. Thus all the various derivates like Net::SMTP::SSL, Net::SMTP::TLS (buggy and unmaintained since 2006), Net::SMTP::TLS::ButMaintained (unmaintained since 2013), Net::SMTPS are finally no longer needed.
| [reply] |