with tls mail example enviar correo java ssl smtp gmail

tls - smtp mail java



Problema con JavaMail Gmail. "Listo para iniciar TLS" luego falla (0)

mailServerProperties = System.getProperties(); mailServerProperties.put("mail.smtp.port", "587"); mailServerProperties.put("mail.smtp.auth", "true"); mailServerProperties.put("mail.smtp.ssl.trust", "*"); mailServerProperties.put("mail.smtp.starttls.enable", "true"); mailServerProperties.put("mail.debug", "true"); getMailSession = Session.getDefaultInstance(mailServerProperties, null); generateMailMessage = new MimeMessage(getMailSession); generateMailMessage.addRecipient(Message.RecipientType.TO, new InternetAddress("[email protected]")); generateMailMessage.addRecipient(Message.RecipientType.CC, new InternetAddress("[email protected]")); generateMailMessage.setSubject("Greetings"); String emailBody = "Test email"; generateMailMessage.setContent(emailBody, "text/html"); System.out.println("Mail Session has been created successfully.."); Transport transport = getMailSession.getTransport("smtp"); transport.connect("smtp.gmail.com", 587, "user", "password"); transport.sendMessage(generateMailMessage, generateMailMessage.getAllRecipients()); transport.close();

También instalé el certificado de smtp de gmail en mi almacén de claves openssl s_client -connect smtp.gmail.com:465

DEBUG: getProvider() returning javax.mail.Provider[TRANSPORT,smtp,com.sun.mail.smtp.SMTPTransport,Oracle] DEBUG SMTP: useEhlo true, useAuth true DEBUG SMTP: trying to connect to host "smtp.gmail.com", port 587, isSSL false 220 smtp.gmail.com ESMTP i80sm10888185wmf.11 - gsmtp DEBUG SMTP: connected to host "smtp.gmail.com", port: 587 EHLO uk-lon01-mws07 250-smtp.gmail.com at your service, [2.220.210.180] 250-SIZE 35882577 250-8BITMIME 250-STARTTLS 250-ENHANCEDSTATUSCODES 250-PIPELINING 250-CHUNKING 250 SMTPUTF8 DEBUG SMTP: Found extension "SIZE", arg "35882577" DEBUG SMTP: Found extension "8BITMIME", arg "" DEBUG SMTP: Found extension "STARTTLS", arg "" DEBUG SMTP: Found extension "ENHANCEDSTATUSCODES", arg "" DEBUG SMTP: Found extension "PIPELINING", arg "" DEBUG SMTP: Found extension "CHUNKING", arg "" DEBUG SMTP: Found extension "SMTPUTF8", arg "" STARTTLS 220 2.0.0 Ready to start TLS (BOMBS OUT AT THIS POINT) Exception in thread "main" javax.mail.MessagingException: Could not convert socket to TLS; nested exception is: javax.net.ssl.SSLHandshakeException: Remote host closed connection during handshake at com.sun.mail.smtp.SMTPTransport.startTLS(SMTPTransport.java:2046) at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:711) at javax.mail.Service.connect(Service.java:366) at com.lawrenceadams.Mail.generateAndSendEmail(Mail.java:50) at com.lawrenceadams.Mail.main(Mail.java:16) 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.intellij.rt.execution.application.AppMain.main(AppMain.java:144) Caused by: javax.net.ssl.SSLHandshakeException: Remote host closed connection during handshake at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:992) at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1375) at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1403) at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1387) at com.sun.mail.util.SocketFetcher.configureSSLSocket(SocketFetcher.java:598) at com.sun.mail.util.SocketFetcher.startTLS(SocketFetcher.java:525) at com.sun.mail.smtp.SMTPTransport.startTLS(SMTPTransport.java:2041) ... 9 more Caused by: java.io.EOFException: SSL peer shut down incorrectly at sun.security.ssl.InputRecord.read(InputRecord.java:505) at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:973) ... 15 more

¿Alguien puede ayudar? He estado luchando en esto durante las últimas dos horas.