您好,欢迎访问一九零五行业门户网

如何在Java Mail中同时使用SSL和非SSL连接?

最近在做java mail ssl遇到一个问题:使用javamail收取邮件在系统运行一定时间后,无法成功.
出错信息是这样的:
javax.mail.messagingexception: connect failed;
nested exception is:
javax.net.ssl.sslhandshakeexception: sun.security.validator.validatorexception: pkix path building failed: sun.security.provider.certpath.suncertpathbuilderexception: unable to find valid certification path to requested target
at com.sun.mail.pop3.pop3store.protocolconnect(pop3store.java:148)
at javax.mail.service.connect(service.java:275)
at javax.mail.service.connect(service.java:156)
at javax.mail.service.connect(service.java:105)
或者未启用ssl的mail服务器出错如下:
nested exception is:
java.net.connectexception: connection refused
at com.sun.mail.pop3.pop3store.protocolconnect(pop3store.java:148)
telnet到邮件服务器,用户名密码都没有问题,看来只有程序问题了。
创建mailsession时用到properties props = system.getproperties();把这个打印出来的时候发现错误了,本来不应该使用ssl验证的,却出现了验证信息不应该出现这个,所以现在在每次pop3链接的时候如果不需要ssl链接都remove这些属性,问题没有了。
终于知道谁改动了system.getproperties();原来在同一个tomcat中还运行了另外一个系统,那个系统使用的邮件服务器是采用ssl验证发送接收邮件的,而且30分钟会收取一次邮件,由于程序写的不够严谨,就出现以上的错误,改进了程序后,两个系统终于可以并存于一个tomcat中。
以上就是如何在java mail中同时使用ssl和非ssl连接?的详细内容。
其它类似信息

推荐信息