Skip to Main Content

Java EE (Java Enterprise Edition) General Discussion

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Interested in getting your voice heard by members of the Developer Marketing team at Oracle? Check out this post for AppDev or this post for AI focus group information.

Jdeveloper12c - Weblogic 12c, javax.net.ssl.SSLException: Unrecognized SSL message, plaintext connec

diego10Feb 26 2014 — edited Feb 26 2014

Hi!

I use jdev 11g and I send email with no problems.

I had to do this (from this post: https://community.oracle.com/thread/1589234?start=15&tstart=0):

in the wls console-

go to Environment>Servers>Configuration>Click on yr servername>Configuration>KeyStores.

In *'Java Standard Trust Keystore Passphrase' & in 'Confirm Java Standard Trust Keystore Passphrase'* fields, type '*changeit*' .

press the Save . restart the wls. this is working for me fine.

but now in jdev 12c the same code (same libraries) I also tried different smtp ports such as 25,465,587 but I'm not able to send the email.

I also tried this: http://www.middlewarementor.com/2012/02/26/unrecognized-ssl-message-plaintext-connection/

I created a machine and set to SSL but no results.

LibraryGeronimo-javamail_1.4_spec-1.7.1.jar

Stacktrace:

javax.mail.MessagingException: Could not connect to SMTP host: smtp.gmail.com, port: 587;

  nested exception is:

  javax.net.ssl.SSLException: Unrecognized SSL message, plaintext connection?

  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:295)

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

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

  at sped.negocio.LNSF.SFBean.LN_C_SFCorreoBean.enviarCorreo(LN_C_SFCorreoBean.java:104)

  at sped.negocio.LNSF.SFBean.LN_C_SFCorreo_50yp00_LN_C_SFCorreoRemoteImpl.__WL_invoke(Unknown Source)

  at weblogic.ejb.container.internal.SessionRemoteMethodInvoker.invoke(SessionRemoteMethodInvoker.java:34)

  at sped.negocio.LNSF.SFBean.LN_C_SFCorreo_50yp00_LN_C_SFCorreoRemoteImpl.enviarCorreo(Unknown Source)

  at sped.negocio.LNSF.SFBean.LN_C_SFCorreo_50yp00_LN_C_SFCorreoRemoteImpl_WLSkel.invoke(Unknown Source)

  at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:693)

  at weblogic.rmi.cluster.ClusterableServerRef.invoke(ClusterableServerRef.java:230)

  at weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:519)

  at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)

  at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:146)

  at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:515)

  at weblogic.rmi.internal.wls.WLSExecuteRequest.run(WLSExecuteRequest.java:118)

  at weblogic.work.ExecuteThread.execute(ExecuteThread.java:295)

  at weblogic.work.ExecuteThread.run(ExecuteThread.java:254)

Caused by: javax.net.ssl.SSLException: Unrecognized SSL message, plaintext connection?

  at sun.security.ssl.InputRecord.handleUnknownRecord(InputRecord.java:671)

  at sun.security.ssl.InputRecord.read(InputRecord.java:504)

  at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:927)

  at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1312)

  at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1339)

  at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1323)

  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)

  ... 18 more

Code:

/*   Test*/

            String[] data = new String[4];

            data[0] = "Email subject";

            data[1] = "/home/diego/Pictures/popupalignment.png";//local file

            data[2] = " Email content";

            data[3] = "destination@gmail.com";

            String msj = lN_C_SFCorreoRemote.sendEmailWithAttachment(data);

public String sendEmailWithAttachment(String data[]) {

        String PUERTO = "587";

        String HOST = "smtp.gmail.com";

        String USUARIO = "mygmailuser";

        String CLAVE = "mygmailpassword";

        String DOMINIO = "@gmail.com";

        String EMAIL_QUE_ENVIA = USUARIO + DOMINIO;

        try {

            Multipart multipart = new MimeMultipart();

            BodyPart messageBodyPart = new MimeBodyPart();

            // Propiedades de la conexion

            Properties props = new Properties();

            props.put("mail.smtp.starttls.enable", "true");

            props.setProperty("mail.smtp.host", HOST);

            props.setProperty("mail.smtp.starttls.enable", "true");

            props.setProperty("mail.smtp.starttls.required", "true");

            props.setProperty("mail.smtp.user", EMAIL_QUE_ENVIA);

            props.setProperty("mail.smtp.auth", "true");

            props.put("mail.smtp.host", HOST);

            props.put("mail.smtp.starttls.required", "true");

            String smtp = HOST;

            if (smtp.equals("smtp.gmail.com")) {

                props.setProperty("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");

                props.setProperty("mail.smtp.socketFactory.fallback", "false");

                props.setProperty("mail.smtp.port", PUERTO);

                props.setProperty("mail.smtp.socketFactory.port", PUERTO);

            }

            Session session = Session.getDefaultInstance(props);

            MimeMessage message = new MimeMessage(session);

            message.setFrom(new InternetAddress(EMAIL_QUE_ENVIA));

            String correos = data[3];

            String[] vecCorreos = correos.split(";");

            for (int i = 0; i < vecCorreos.length; i++) {

                message.addRecipient(Message.RecipientType.TO, new InternetAddress(vecCorreos[i]));

            }

            message.setSubject(data[0]);

            String contenido = data[2];

            messageBodyPart.setContent(contenido, "text/html");

            multipart.addBodyPart(messageBodyPart);

            /*SE ADJUNTA EL REPORTE*/

            BodyPart messageBodyPart2 = new MimeBodyPart();

            FileDataSource source = new FileDataSource(data[1]);

            messageBodyPart2.setDataHandler(new DataHandler(source));

            messageBodyPart2.setFileName(source.getName());

            multipart.addBodyPart(messageBodyPart2);

            message.setContent(multipart);

            message.setSentDate(new Date());

            Transport t = session.getTransport("smtp");

            t.connect(USUARIO, CLAVE);

            t.sendMessage(message, message.getAllRecipients());

            System.out.println("Se envio el correo Electronico!");

            t.close();

            return "Se envio el correo electronico a " + data[3];

        } catch (Exception e) {

            e.printStackTrace();

            return "No se pudo enviar el correo electronico a " + data[3];

        }

    }

This post has been answered by Bill Shannon-Oracle on Feb 26 2014
Jump to Answer
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Mar 26 2014
Added on Feb 26 2014
2 comments
8,207 views