我知道在 SO 上有很多关于同一件事的问题,但我似乎还没有找到解决我的问题的方法。
我正在使用 JavaMail API 连接到邮件服务器。最初我使用端口 110 连接到 pop3 服务器,那时我得到以下异常 -
javax.net.ssl.SSLException:无法识别的 SSL 消息,纯文本连接?
我将端口更改为 995 并得到以下异常 -
sun.security.validator.ValidatorException:PKIX 路径构建失败:
sun.security.provider.certpath.SunCertPathBuilderException:无法找到请求目标的有效证书路径
连接服务器代码:
Properties props = System.getProperties();
props.setProperty("mail.store.protocol", "pop3");
props.setProperty("mail.pop3.ssl.enable", "true");
Session session = Session.getInstance(props, null);
store = session.getStore("pop3");
store.connect(ServerName, Port, UserName, Password);
我哪里错了?任何意见将是有益的。提前致谢。
最佳答案
第一条错误消息说明了一切。您正在尝试将 SSL 连接到明文端口。尝试禁用 SSL,或为 SSL 使用正确的端口。
第二个表示您的信任库不信任服务器证书。如果它是自签名的,您需要将其导入您的信任库。
关于java - SunCertPathBuilderException : unable to find valid certification path to requested target`,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23195562/