mailR Connection拒绝来自linux而不是来自windows

我有mailR(R语言包发送电子邮件)尝试从我的Gmail帐户发送一些电子邮件。 它可以从windows中完美运行,但是从linux我得到以下错误。 在下面的示例中,我已经替换了电子邮件,用户名和密码。

码:

library(mailR) emails <- c("example1@host.com") send.emails <- function() { for(x in emails){ send.mail(from = from1, to = x, subject = subject1, body = body1, smtp = list(host.name = "smtp.gmail.com", port = 465, user.name = username, passwd = password, ssl = TRUE), authenticate = TRUE, send = TRUE) } } send.emails() 

错误:

 > send.emails() 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:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.NULL java:606) at RJavaTools.invokeMethod(RJavaTools.java:386) Caused by: com.sun.mail.util.MailConnectException: Couldn't connect to host, port: smtp.gmail.com, 465; timeout 60000; nested exception is: java.net.ConnectException: Connection refused at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1984) at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:656) at javax.mail.Service.connect(Service.java:367) at javax.mail.Service.connect(Service.java:226) at javax.mail.Service.connect(Service.java:175) 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: java.net.ConnectException: Connection refused at java.net.PlainSocketImpl.socketConnect(Native Method) at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339) at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200) at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182) at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392) at java.net.Socket.connect(Socket.java:579) at sun.security.ssl.SSLSocketImpl.connect(SSLSocketImpl.java:618) at com.sun.mail.util.SocketFetcher.createSocket(SocketFetcher.java:299) at com.sun.mail.util.SocketFetcher.getSocket(SocketFetcher.java:208) at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1950) ... 13 more Show Traceback Rerun with Debug Error: EmailException (Java): Sending the email to the following server failed : smtp.gmail.com:465 

再次,我在Windows上没有任何错误,电子邮件通过,当我在linux上运行相同的脚本时,我得到所有这些错误。 拒绝连接…

如果我可以从我的linux盒子里运行这个脚本那么棒。 谢谢!

好的,我有一个答案。 令人惊讶的是,R在Windows上而不是在Linux上工作(例如download.file –internet2或许多其他示例)并不是问题。

Peerguardian正在linux系统上运行,某种程度上smtp.gmail.com正在黑名单上。

我已经将smtp.gmail.com列入白名单,现在一切正常!

我能够通过IP白名单或白名单端口465进行白名单。