Problem sending mail to Yahoo mail servers using SMTP Direct sending

Some users have reported problems sending email to Yahoo's mail servers starting in August 2019. It will affect mail to Yahoo email addresses, and also some other email addresses, such as those owned by Yahoo (eg Rocketmail.com) and those who use Yahoo's mail services for their customers (eg Sky.com, Aol.com).

This happens if you have VPOP3 configured to "Send using SMTP Direct" and you are using a version of VPOP3 earlier than v7.9

The VPOP3 Errors.log will contain entries like this:

OpenSSL error code 336031996 means that VPOP3 is receiving a TLS request for an 'unknown protocol' (error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol if you know OpenSSL).

This error is due to a configuration change at Yahoo which has lead to an incompatibility between the TLS implementation used by Yahoo and that used by VPOP3

Best Solution

The best solution is to upgrade to VPOP3 v7.9 or later which uses a later version of OpenSSL which is compatible with Yahoo's servers

Next-best Solution

You can manually upgrade the OpenSSL files used by VPOP3 to the later version. This may or may not work depending on your version of VPOP3. Note that this has not been tested with every version of VPOP3.

  1. Stop VPOP3
  2. Make a backup copy of the ssleay32.dll and libeay32.dll files in the VPOP3 installation directory
  3. Download the zip file from here (32 bit VPOP3) or here (64 bit VPOP3) and unzip it into the VPOP3 installation directory. Note you should download the 32 or 64 bit version depending on the version of VPOP3, not the version of Windows. VPOP3 v7.0 and earlier are always 32 bit. Later versions could be 32 or 64 bit depending on what you installed. It may say on the About page in the VPOP3 settings, or this external article gives some ways you can tell
  4. Restart VPOP3

If VPOP3 fails to restart, then either you have used the wrong 32 or 64 bit version of the patch for the version of VPOP3 you have, or the later OpenSSL files are not compatible with your version of VPOP3.

If the files are incompatible, then you can restore the backup of the original files that you made in step (2) above.

Workaround 1

If you have VPOP3 v6.5 or later, then you can use a bit of Lua scripting to tell VPOP3 not to use encryption when connecting to Yahoo's mail servers. This is not ideal because it means that messages are not encrypted during transmission.

In the VPOP3 Settings, go to Settings -> Scripts, choose the mxout.lua script and enter the following script (copy/paste if possible) and press Save

function ServerDetails(params, headers, actions)
  if string.sub(params["server"], -13) == ".yahoodns.net" then
    actions["tryTLS"] = 0
  end
  return actions
end

 

Workaround 2

If you send your outgoing mail through a SMTP relay service rather than using SMTP Direct sending, then the incompatibility should not matter.