使用 gmail 的 MailR 出现“没有合适的协议”错误

问题描述

我正在尝试使用 mailr 从 Gmail 帐户发送一封简单的电子邮件

send.mail(from = "XXXXXX@gmail.com",to = c("YYYYYY@gmail.com"),subject = "Subject of the email",body = "test",html = TRUE,inline = TRUE,smtp = list(host.name = "smtp.gmail.com",port = 465,user.name = "XXXXXX",passwd = "XXXXXX",ssl = TRUE),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(UnkNown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(UnkNown Source)
    at java.lang.reflect.Method.invoke(UnkNown Source)
    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.jaNULL
va: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>(UnkNown Source)
    at sun.security.ssl.ClientHandshakeContext.<init>(UnkNown Source)
    at sun.security.ssl.TransportContext.kickstart(UnkNown Source)
    at sun.security.ssl.SSLSocketImpl.startHandshake(UnkNown Source)
    at sun.security.ssl.SSLSocketImpl.startHandshake(UnkNown Source)
    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

我只是将不安全的应用程序访问权限更改为是,但没有任何反应。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)