我有一个 Tomcat 5 webapp,它尝试通过 smtp.gmail.com 在端口 465 上通过 SSL 套接字发送邮件。我得到了例外:
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: No trusted certificate found
at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1706)
at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:525)
at javax.mail.Service.connect(Service.java:291)
at javax.mail.Service.connect(Service.java:172)
好的。我试图在我的密钥库中导入我在网站https://www.gmail.com上获得的证书。
keytool -import -trustcacerts -file c:\verising-c3_01.cer
但是 keytool 说这个证书已经存在。Tomcat 是使用默认设置安装的,我没有移动密钥库(我什至不知道它们在哪里)。我的 javaMail 版本是 1.4.3,我的 jvm 版本是 1.4.2_12。