JavaMail Gmail issue. “Ready to start TLS” then fails

匿名 (未验证) 提交于 2019-12-03 01:03:01

问题:

    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("blah@gmail.com"));     generateMailMessage.addRecipient(Message.RecipientType.CC, new InternetAddress("blah@gmail.com"));     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(); 

I also installed the gmail smtp certificate in my keystore 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 

Can anyone help? Been struggling on this for the last couple hours.

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!