2017-07-14 34 views
0

我試圖設置電子郵件通知在詹金斯無法通過詹金斯發送郵件,獲得異常

但是當我點擊測試配置,我得到以下錯誤

參見附件截圖以及下面的錯誤

請幫助我卡在這裏。

sun.security.provider.certpath.SunCertPathBuilderException:無法找到有效的認證路徑要求的目標

at sun.security.provider.certpath.SunCertPathBuilder.build(Unknown Source) 

at sun.security.provider.certpath.SunCertPathBuilder.engineBuild(Unknown Source) 

at java.security.cert.CertPathBuilder.build(Unknown Source) 

引起:sun.security.validator.ValidatorException:PKIX路徑建設失敗

at sun.security.validator.PKIXValidator.doBuild(Unknown Source) 

at sun.security.validator.PKIXValidator.engineValidate(Unknown Source) 

at sun.security.validator.Validator.validate(Unknown Source) 

at sun.security.ssl.X509TrustManagerImpl.validate(Unknown Source) 

at sun.security.ssl.X509TrustManagerImpl.checkTrusted(Unknown Source) 

at sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(Unknown Source) 

造成:javax.net.ssl.SSLHandshakeException

at sun.security.ssl.Alerts.getSSLException(Unknown Source) 

at sun.security.ssl.SSLSocketImpl.fatal(Unknown Source) 

at sun.security.ssl.Handshaker.fatalSE(Unknown Source) 

at sun.security.ssl.Handshaker.fatalSE(Unknown Source) 

at sun.security.ssl.ClientHandshaker.serverCertificate(Unknown Source) 

at sun.security.ssl.ClientHandshaker.processMessage(Unknown Source) 

at sun.security.ssl.Handshaker.processLoop(Unknown Source) 

at sun.security.ssl.Handshaker.process_record(Unknown Source) 

at sun.security.ssl.SSLSocketImpl.readRecord(Unknown Source) 

at sun.security.ssl.SSLSocketImpl.performInitialHandshake(Unknown Source) 

at sun.security.ssl.SSLSocketImpl.startHandshake(Unknown Source) 

at sun.security.ssl.SSLSocketImpl.startHandshake(Unknown Source) 

at com.sun.mail.util.SocketFetcher.configureSSLSocket(SocketFetcher.java:507) 

at com.sun.mail.util.SocketFetcher.getSocket(SocketFetcher.java:238) 

at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1900) 

導致:javax.mail.MessagingException:無法連接到SMTP主機:smtp.gmail.com,端口:465; 嵌套的例外是: javax.net.ssl.SSLHandshakeException:sun.security.validator.ValidatorException:PKIX路徑建設失敗:sun.security.provider.certpath.SunCertPathBuilderException:無法找到請求的目標的有效證書路徑

at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1934) 

at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:638) 

at javax.mail.Service.connect(Service.java:317) 

at javax.mail.Service.connect(Service.java:176) 

at javax.mail.Service.connect(Service.java:125) 

at javax.mail.Transport.send0(Transport.java:194) 

at javax.mail.Transport.send(Transport.java:124) 

at hudson.tasks.Mailer$DescriptorImpl.doSendTestMail(Mailer.java:581) 

at java.lang.invoke.MethodHandle.invokeWithArguments(Unknown Source) 

at org.kohsuke.stapler.Function$MethodFunction.invoke(Function.java:343) 

at org.kohsuke.stapler.Function.bindAndInvoke(Function.java:184) 

at org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:117) 

at org.kohsuke.stapler.MetaClass$1.doDispatch(MetaClass.java:129) 

at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:58) 

at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:715) 

at org.kohsuke.stapler.Stapler.invoke(Stapler.java:845) 

at org.kohsuke.stapler.MetaClass$5.doDispatch(MetaClass.java:248) 

at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:58) 

at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:715) 

at org.kohsuke.stapler.Stapler.invoke(Stapler.java:845) 

at org.kohsuke.stapler.Stapler.invoke(Stapler.java:649) 

at org.kohsuke.stapler.Stapler.service(Stapler.java:238) 

at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) 

at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:841) 

at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1650) 

at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:135) 

at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:138) 

at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1637) 

at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:49) 

at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1637) 

at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:84) 

at hudson.security.ChainedServletFilter.doFilter(ChainedServletFilter.java:90) 

at hudson.security.HudsonFilter.doFilter(HudsonFilter.java:171) 

at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1637) 

at org.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.java:49) 

at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1637) 

at hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:82) 

at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1637) 

at org.kohsuke.stapler.DiagnosticThreadNameFilter.doFilter(DiagnosticThreadNameFilter.java:30) 

at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1637) 

at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:533) 

at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143) 

at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:524) 

at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132) 

at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:190) 

at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1595) 

at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:188) 

at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1253) 

at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:168) 

at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:473) 

at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1564) 

at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:166) 

at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1155) 

at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) 

at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132) 

at org.eclipse.jetty.server.Server.handle(Server.java:564) 

at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:317) 

at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:251) 

at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:279) 

at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:110) 

at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:124) 

at org.eclipse.jetty.util.thread.Invocable.invokePreferred(Invocable.java:128) 

at org.eclipse.jetty.util.thread.Invocable$InvocableExecutor.invoke(Invocable.java:222) 

at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:294) 

at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:199) 

at winstone.BoundedExecutorService$1.run(BoundedExecutorService.java:77) 

at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) 

at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) 

at java.lang.Thread.run(Unknown Source) 

回答

0

你配置你的Gmail來訪問低安全性的應用程序。如果你沒有完成,請檢查。如果您有任何插件更新,請更新插件。如果您看到錯誤,您將面臨認證問題。

按照認證問題的步驟:

您需要導入證書smtp.gmail.com

1)輸入命令來查看該證書

C:\openssl\bin\openssl.exe s_client -connect smtp.gmail.com:465 

2)複製和複製將 「----- BEGIN CERTIFICATE -----」

「----- END CERTIFICATE -----」之間的行保存到文件中,例如:-gmail.cer

3)使用此命令導出 keytool -import -alias smtp.gmail.com -keystore「%JAVA_HOME%/ jre/lib/security/cacerts」-file C:\ Users \ ca \ Desktop \ gmail \ gmail.cer

4)輸入密碼chageit

5)點擊是導入證書

6)重新啓動的Java

希望它爲你工作

+0

HI錢德拉, 感謝您的回覆, 我嘗試了上述步驟。 生成的證書條目位於C:\ Program Files \ Java \ jre7 \ lib \ security 但仍然Jenkins無法發送電子郵件。 PFB異常是嘗試使用SSL: sun.security.provider.certpath.SunCertPathBuilderException:無法找到沒有SSL java.net.SocketTimeoutException到請求的目標 有效證書路徑,我得到以下錯誤:讀超時 \t at java.net.SocketInputStream.socketRead0(Native Method) 請致電<> –