in reply to Re: Net::SMTP::SSL on Windows 8
in thread Net::SMTP::SSL on Windows 8

Yes, sure, the problem is obvious. The solution is what seems non-existent.

I started with notes I found for sending e-mail out through gmail. godaddy works similarly. I didn't have to install any certificate before.

The more I read, it may not be a difference in windows versions, but possibly a change in IO::Socket::SSL that may be requiring me to install a certificate that I hadn't before. But where? Which certificate? If I need to supply an option to IO::Socket::SSL to identify the certificate, how do I do that via Net::SMTP::SSL, since I don't work with IO::Socket::SSL directly?

Replies are listed 'Best First'.
Re^3: Net::SMTP::SSL on Windows 8
by DanEllison (Scribe) on Jan 25, 2014 at 17:26 UTC
    I have now confirmed it. I had IO::Socket::SSL version 1.953 installed. I re-installed version 1.76, and everything started working as before. So, what does the new version need?
      So, what does the new version need?

      Searching the Changes file for "certificate" might turn up something helpful.
      For example, I see that there are two "MAJOR BEHAVIOR CHANGE" announcements (for 1.950) in relation to certs.

      Cheers,
      Rob

        The documentation for IO::Socket::SSl says the default of SSL_VERIFY_NONE for option SSL_verify_mode is going to change. Well apparently that change occurred. And it seems I should be setting this option explicitly, or better yet, supply a certificate and path to be verified. However, I am not using IO::Socket::SSL directly, but it is embedded in Net::SMTP::SSL.

        I see a bug 81594 was opened last November on Net::SMTP::SSL identifying the need to pass through options to IO::Socket::SSL.

        It appears to me, all the solutions to sending e-mail via SSL pass through Net::SMTP::SSL affecting GoDaddy, Gmail, etc. It appears a few people are hacking either module to set the option, or like myself, I simply reloaded the 1.76 version of IO::Socket::SSL.

      With 1.950 IO::Socket::SSL switched the default from "no certificate verification" to "require verification", after 3 years of complaining (since 1.79) if you used the insecure default of no verification. It also uses the default location for the certificates provided by the openssl installation.

      On windows there are probably no certificates installed in a form usable by openssl, so you have to do it by your own. You might use Mozilla::CA and then set the SSL_ca_file like documented there.