2014-01-20 52 views
1

我試過這個教程(http://czetsuya-tech.blogspot.de/2012/11/how-to-send-email-in-glassfish-using.html)。我在Windows 7 Professional 64位上使用GlassFish 4。GlassFish 4和Java Mail:PKIX路徑構建失敗

本教程的工作,因爲我得到這個異常:

javax.mail.MessagingException: Could not connect to SMTP host: smtp.gmail.com, port: 465; 
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 

回答

1

你有沒有篡改/修改$ JAVA_HOME/JRE/lib/security中/ cacerts的文件?如果是這樣,請嘗試重新安裝jdk。該密鑰庫通常是信任證書的來源,並且默認情況下應接受Google的信任證書。

也要注意可能會丟棄標準證書的其他JVM env var。 (例如:-Djavax.net.ssl.trustStore)

+1

嘿,謝謝你的回答。我有點困惑,因爲我在密鑰庫中沒有任何修改。我現在解決了這個問題。這是由Avast Antivirus引起的。我禁用了傳出smtp連接的病毒檢查。我認爲Avast取代了證書來檢查郵件的內容或類似的東西。 – Marcello90

+0

嗯,可能你的防病毒軟件充當代理服務器,因此它可以看到正在交換的數據內容,並且由於流量是SSL,因此您將獲得防病毒的證書,而不是Google的 – gerrytan

相關問題