溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

如何解決Java mail ssl并存的一個(gè)問題

發(fā)布時(shí)間:2022-03-30 13:40:33 來源:億速云 閱讀:200 作者:小新 欄目:編程語言

這篇文章主要介紹了如何解決Java mail ssl并存的一個(gè)問題,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

最近在做java mail ssl遇到一個(gè)問題:使用JavaMail收取郵件在系統(tǒng)運(yùn)行一定時(shí)間后,無法成功.
出錯(cuò)信息是這樣的:
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服務(wù)器出錯(cuò)如下:
nested exception is:
java.net.ConnectException: Connection refused
at com.sun.mail.pop3.POP3Store.protocolConnect(POP3Store.java:148)

telnet到郵件服務(wù)器,用戶名密碼都沒有問題,看來只有程序問題了。

創(chuàng)建MailSession時(shí)用到Properties props = System.getProperties();把這個(gè)打印出來的時(shí)候發(fā)現(xiàn)錯(cuò)誤了,本來不應(yīng)該使用SSL驗(yàn)證的,卻出現(xiàn)了驗(yàn)證信息不應(yīng)該出現(xiàn)這個(gè),所以現(xiàn)在在每次POP3鏈接的時(shí)候如果不需要SSL鏈接都remove這些屬性,問題沒有了。
終于知道誰改動(dòng)了System.getProperties();原來在同一個(gè)Tomcat中還運(yùn)行了另外一個(gè)系統(tǒng),那個(gè)系統(tǒng)使用的郵件服務(wù)器是采用SSL驗(yàn)證發(fā)送接收郵件的,而且30分鐘會(huì)收取一次郵件,由于程序?qū)懙牟粔驀?yán)謹(jǐn),就出現(xiàn)以上的錯(cuò)誤,改進(jìn)了程序后,兩個(gè)系統(tǒng)終于可以并存于一個(gè)TOMCAT中。

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“如何解決Java mail ssl并存的一個(gè)問題”這篇文章對(duì)大家有幫助,同時(shí)也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來學(xué)習(xí)!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI