2

我正在尝试使用 SendMailR 功能,我已与我们的 IT 部门确认我使用的是正确的服务器,并且我有正确的连接权限,他们已通过此服务器发送电子邮件但未通过 R,我还检查了端口应该是 25。

编码:

# E-Mail #

library(sendmailR)

from <- "david@work.com"
to <- "adam@work.com"
subject <- "Send Mail R- Test"
body <- "TESTING TESTING TESTING"                     
mailControl=list(smtpServer="uksmtp.global.local")

sendmail(from=from,to=to,subject=subject,msg=body,control=mailControl)

我收到以下错误:

function (host = "localhost", port, server = FALSE, blocking = FALSE, 
open = "a+", encoding = getOption("encoding"), timeout = getOption("timeout")) 
.Internal(socketConnection(host, port, server, blocking, open, 
encoding, timeout))
<bytecode: 0x00000000071beb18>
<environment: namespace:base>

所以我认为这是一个错误,或者我需要定义一个新的套接字连接,这是问题所在吗?谁能给我任何关于下一步该去哪里让它工作的指示?

提前致谢

4

2 回答 2

0

你可以给新的 mailR 包一个允许 SMTP 授权的镜头:http ://cran.r-project.org/web/packages/mailR

然后应该可以使用以下调用:

send.mail(from = "sender@gmail.com",
          to = "recipient@gmail.com",
          subject = "Subject of the email",
          body = "Body of the email",
          smtp = list(host.name = "smtp.gmail.com", port = 465, user.name = "recipient", passwd = "PASSWORD", ssl = TRUE, tls = TRUE),
          authenticate = TRUE,
          send = TRUE)

只需替换参数中的键值对,smtp您就可以开始使用了。

于 2014-03-14T22:38:40.077 回答
0

尽管这不是您问题的答案,但您可能还想查看该mail软件包,该软件包提供了另一种通过外部邮件服务器和地址发送邮件的方法:

require(mail)
sendmail("adam@work.com", "Send Mail R- Test", "TESTING TESTING TESTING")

请注意,您每天只能以这种方式发送 20 封邮件(以避免垃圾邮件)。

于 2013-06-03T12:00:22.120 回答