2013-04-13 4 views
11

Ich versuche, eine E-Mail von der Feder-Anwendung zu senden. Ich habe alle JAR-Dateien enthalten, aber es zeigt diese Ausnahme:javax.net.ssl.SSLException: Nicht erkannte SSL-Nachricht, Klartextverbindung

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

Warum wurde das wieder geöffnet? Es ist ein Duplikat. – EJP

Antwort

7

Sie versuchen, eine SSL-Verbindung zu einem nicht SSL-Endpunkt zu tun. Wenn Sie das ändern, sollte es funktionieren.

Ich habe festgestellt, dass die meisten Tutorials über die Integration Ihrer E-Mail mit Outlook/Thunderbird/etc SSL/TSL zu einer nicht-SSL-Verbindung aufrufen. Im Allgemeinen habe ich herausgefunden (und das kann sich ändern, aber es ist die Norm), dass nur SSL Port 465 SSL ist. 587 ist TSL (kein SSL) und 25 ist einfach.

+6

"TLS (kein SSL)" ist im Wesentlichen bedeutungslos. Eine SMTPS-Verbindung ist durch SSL oder TLS gesichert. Die Reservierung von 465 für SMTPS wurde [1998 widerrufen] (http://www.imc.org/ietf-apps-tls/mail-archive/msg00204.html), obwohl sie aus Gründen der Abwärtskompatibilität immer noch verwendet wird. Der wirkliche Unterschied zwischen 465 und 587 besteht darin, dass 587 den Befehl STARTTLS und daher sowohl den Klartext als auch TLS/SSL unterstützt. – EJP

Verwandte Themen