温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

如何解决Java mail ssl并存的一个问题

发布时间:2022-03-30 13:40:33 来源:亿速云 阅读:209 作者:小新 栏目:编程语言

这篇文章主要介绍了如何解决Java mail 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并存的一个问题”这篇文章对大家有帮助,同时也希望大家多多支持亿速云,关注亿速云行业资讯频道,更多相关知识等着你来学习!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI