如何解决错误:EmailException (Java):将电子邮件发送到以下服务器失败:smtp.gmail.com:465
查询:-
library(mailR)
sender<-"abc@gmail.com"
To<-c("xyz.@gmail.com")
sm<-list(host.name = "smtp.gmail.com",port = 465,user.name="abc@gmail.com",passwd="Password@123",ssl=TRUE)
send.mail(from=sender,to=To,subject = paste0("Test_Email"),body = paste0("Test_Mail_Details"),html = TRUE,inline = FALSE,smtp = sm,authenticate = TRUE,send = TRUE)
错误按摩细节:
org.apache.commons.mail.EmailException: Sending the email to the following server Failed :
smtp.gmail.com:465
at org.apache.commons.mail.Email.sendMimeMessage(Email.java:1410)
at org.apache.commons.mail.Email.send(Email.java:1437)
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:498)
at RJavaTools.invokeMethod(RJavaTools.java:386)
Caused by: javax.mail.MessagingException: Could not connect to SMTP host: smtp.gmail.com,port: 465;
nested exception is:
javax.net.ssl.SSLHandshakeException: No appropriate protocol (protocol is disabled or cipher suites are inappropriate)
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:386)
at javax.mail.Service.connect(Service.java:245)
at javax.mail.Service.connect(Service.java:194)
at javax.mail.Transport.send0(Transport.java:253)
at javax.mail.Transport.send(Transport.java:124)
at org.apache.commons.mail.Email.sendMimeMessage(Email.java:1400)
... 6 more
Caused by: javax.net.ssl.SSLHandshakeException: No appropriate protocol (protocol is disabled or cipher suites are inappropriate)
at sun.security.ssl.HandshakeContext.<init>(HandshakeContext.java:171)
at sun.security.ssl.ClientHandshakeContext.<init>(ClientHandshakeContext.java:98)
at sun.security.ssl.TransportContext.kickstart(TransportContext.java:220)
at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:428)
at com.sun.mail.util.socketFetcher.configureSSLSocket(SocketFetcher.java:543)
at com.sun.mail.util.socketFetcher.createSocket(SocketFetcher.java:348)
at com.sun.mail.util.socketFetcher.getSocket(SocketFetcher.java:215)
at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:2019)
... 13 more
Error: EmailException (Java): Sending the email to the following server Failed: smtp.gmail.com:465
解决方法
尝试使用下一个:
rJava::.jinit()
rJava::.jcall("java/lang/System","S","setProperty","mail.smtp.ssl.protocols","TLSv1.2")
mailR::send.mail(...)
https://github.com/rpremraj/mailR/issues/100#issuecomment-832680313
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。