2013-04-13 10 views
11

私はSpringアプリケーションからメールを送信しようとしています。すべてのjarファイルが含まれていますが、この例外が表示されています。javax.net.ssl.SSLException:認識できないSSLメッセージ、プレーンテキスト接続

javax.mail.MessagingException: Exception reading response; 
    nested exception is: 
    javax.net.ssl.SSLException: Unrecognized SSL message, plaintext connection? 
    at com.sun.mail.smtp.SMTPTransport.readServerResponse(SMTPTransport.java:1611) 
    at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1369) 
    at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:412) 
    at javax.mail.Service.connect(Service.java:310) 
    at javax.mail.Service.connect(Service.java:169) 
    at javax.mail.Service.connect(Service.java:118) 
    at javax.mail.Transport.send0(Transport.java:188) 
    at javax.mail.Transport.send(Transport.java:118) 
    at org.symb.leavemanagement.mail.SampleMail.sentMail(SampleMail.java:65) 
    at org.symb.leavemanagement.controller.AdminController.processRegistratingUser(AdminController.java:196) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:601) 
    at org.springframework.web.bind.annotation.support.HandlerMethodInvoker.invokeHandlerMethod(HandlerMethodInvoker.java:175) 
    at org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.invokeHandlerMethod(AnnotationMethodHandlerAdapter.java:421) 
    at org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.handle(AnnotationMethodHandlerAdapter.java:409) 
    at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:774) 
    at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:719) 
    at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:644) 
    at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:560) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:641) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:722) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) 
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224) 
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169) 
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472) 
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168) 
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98) 
    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927) 
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) 
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407) 
    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:987) 
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:579) 
    at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:309) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) 
    at java.lang.Thread.run(Thread.java:722) 
Caused by: javax.net.ssl.SSLException: Unrecognized SSL message, plaintext connection? 
    at sun.security.ssl.InputRecord.handleUnknownRecord(InputRecord.java:541) 
    at sun.security.ssl.InputRecord.read(InputRecord.java:374) 
    at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:893) 
    at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1294) 
    at sun.security.ssl.SSLSocketImpl.readDataRecord(SSLSocketImpl.java:848) 
    at sun.security.ssl.AppInputStream.read(AppInputStream.java:102) 
    at com.sun.mail.util.TraceInputStream.read(TraceInputStream.java:110) 
    at java.io.BufferedInputStream.fill(BufferedInputStream.java:235) 
    at java.io.BufferedInputStream.read(BufferedInputStream.java:254) 
    at com.sun.mail.util.LineInputStream.readLine(LineInputStream.java:88) 
    at com.sun.mail.smtp.SMTPTransport.readServerResponse(SMTPTransport.java:1589) 
    ... 38 more 
+0

なぜこれが再開されましたか?それは重複している。 – EJP

答えて

7

SSL以外のエンドポイントにSSL接続をしようとしています。あなたはそれが動作するはずです変更した場合。

メールをOutlook/Thunderbird /などと統合するためのほとんどのチュートリアルでは、SSL/TSLを非SSL接続に呼び出しています。私がそこで知ったことは一般的に(そしてこれは変わることができますが、それは標準です)、smtpポート465だけがSSLであるということです。 587はTSL(SSLなし)、25はプレーンです。

+6

「TLS(SSLなし)」は本質的に無意味です。 SMTPS接続は、SSLまたはTLSによって保護されます。下位互換性の理由からまだ使用されていますが、SMTPSのための465の予約は[1998年に取り消されました](http://www.imc.org/ietf-apps-tls/mail-archive/msg00204.html)でした。 465と587の実際の違いは、587がSTARTTLSコマンドをサポートしており、したがって、プレーンテキストとTLS/SSLの両方をサポートしていることです。 – EJP

関連する問題