Java Email Unrecognized SSL message, plaintext connection? couldn't open server and protocol connection error

389 views Asked by At

When i try to send a email, throw java mail.smtp it gives me a error "Email Unrecognized SSL message, plaintext connection?"

This is my code for send the email, the email that i need to send the email using TLS protocol, with the port 587.

Properties prop = System.getProperties();
    prop.put("mail.transport.protocol", "smtps");
    prop.put("mail.smtp.port", emailConnectionConfig.getPort());
    prop.put("mail.smtp.auth", "true");
    prop.put("mail.smtp.starttls.enable", "true");
    prop.put("mail.smtp.starttls.required", "true");

    Session session = Session.getDefaultInstance(prop);

    InternetAddress fromAddress=null;

    try{
        fromAddress=new InternetAddress(emailConnectionConfig.getFrom());
    }
    catch(AddressException e){
        e.printStackTrace();
    }

    // Create a message with the specified information.
    MimeMessage msg = new MimeMessage(session);
    msg.setFrom(fromAddress);
    // set the List of Recipients based on the Workflow
    msg.setRecipients(RecipientType.TO,emailTo);

    msg.setSubject(emailSubject, "UTF-8");
    //Don't Work with MimeMessage
    msg.setText(emailBody, "UTF-8");

    // Create a transport.
    Transport transport = session.getTransport();
    // Send the message.

try {
        // try the email. comment this after testing:
        System.out.println("Attempting to send an email...");

        // Connect to server with settings
        transport.connect(emailConnectionConfig.getHost(), emailConnectionConfig.getPort(), emailConnectionConfig.getUsername(), emailConnectionConfig.getPassword());
        System.out.println("Transport Email Status: "+transport.isConnected());
        //          transport.isConnected();
        // Send the email.
        transport.sendMessage(msg, msg.getAllRecipients());
        // System.out.println("Email sent!");
    } catch (Exception ex) {
        ex.getMessage();
        System.out.println("The email was not sent.");
        System.out.println("Error message: " + ex.getMessage());
        ex.printStackTrace();

    } finally {
        // Close and terminate the connection.
        transport.close();
    }
}

But e can't connect with the server, the SMTP host i can use telnet to the port and host. The error is the following one:

javax.net.ssl.SSLException: Unrecognized SSL message, plaintext connection?
at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:2055)
at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:697)
at javax.mail.Service.connect(Service.java:364)
at com.primeit.mail.SendEmail.sendEmail(SendEmail.java:90)
at com.primeit.mail.NotificationEmail.notifyEmail(NotificationEmail.java:135)
at com.primeit.view.relatorio.RelatorioForm.approve(RelatorioForm.java:1259)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at com.vaadin.event.ListenerMethod.receiveEvent(ListenerMethod.java:508)
at com.vaadin.event.EventRouter.fireEvent(EventRouter.java:198)
at com.vaadin.event.EventRouter.fireEvent(EventRouter.java:161)
at com.vaadin.server.AbstractClientConnector.fireEvent(AbstractClientConnector.java:1008)
at com.vaadin.ui.Button.fireClick(Button.java:377)
at com.vaadin.ui.Button$1.click(Button.java:54)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at com.vaadin.server.ServerRpcManager.applyInvocation(ServerRpcManager.java:158)
at com.vaadin.server.ServerRpcManager.applyInvocation(ServerRpcManager.java:118)
at com.vaadin.server.communication.ServerRpcHandler.handleInvocation(ServerRpcHandler.java:437)
at com.vaadin.server.communication.ServerRpcHandler.handleInvocations(ServerRpcHandler.java:408)
at com.vaadin.server.communication.ServerRpcHandler.handleRpc(ServerRpcHandler.java:273)
at com.vaadin.server.communication.UidlRequestHandler.synchronizedHandleRequest(UidlRequestHandler.java:90)
at com.vaadin.server.SynchronizedRequestHandler.handleRequest(SynchronizedRequestHandler.java:41)
at com.vaadin.server.VaadinService.handleRequest(VaadinService.java:1414)
at com.vaadin.server.VaadinServlet.service(VaadinServlet.java:365)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:218)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:505)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:169)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:958)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:452)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1087)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:637)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:318)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:745)
0

There are 0 answers