无法从基于 JavaMail 的模块连接到 smtp.gmail.com

Unable to connect to smtp.gmail.com from JavaMail based module

这已经工作了很多年,但几周后,我的基于 JavaMail 的模块在尝试连接时报告错误 smtp.gmail.com:

调试输出如下所示:

DEBUG: setDebug: JavaMail version 1.4.7
DEBUG: getProvider() returning
javax.mail.Provider[TRANSPORT,smtp,com.sun.mail.smtp.SMTPTransport,Oracle]
DEBUG SMTP: useEhlo true, useAuth true
DEBUG SMTP: useEhlo true, useAuth true
DEBUG SMTP: trying to connect to host "smtp.gmail.com", port 465, isSSL false
MessagingException javax.mail.MessagingException: Could
not connect to SMTP host: smtp.gmail.com, port: 465;
nested exception is:
        javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException:
Certificate signature validation failed

我似乎不明白这个问题是从哪里来的,如果能提供任何有关如何追踪此问题的帮助,我们将不胜感激。

似乎只需将 lib/security/cacerts 文件替换为最新 jdk 文件的一个版本就可以解决问题。