我知道在SO上有很多关于同一件事的问题,但我似乎还没有找到解决我问题的方法。
我正在使用JavaMail API连接到邮件服务器。最初我使用端口110连接到pop3服务器,那时我得到以下异常 -
javax.net.ssl.SSLException: Unrecognized SSL message, plaintext connection?
我将端口更改为995并得到以下异常 -
sun.security.validator.ValidatorException: PKIX path building failed:
sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
连接服务器的代码:
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);
我哪里错了?任何意见将是有益的。提前谢谢。
答案 0 :(得分:2)
第一条错误消息说明了一切。您正在尝试SSL到明文端口。尝试禁用SSL,或使用正确的SSL端口。
第二个表示您的信任库不信任服务器证书。如果它是自签名的,则需要将其导入您的信任库。