我正在尝试使用SendMailR功能,我已经检查了我们的I.T.部门,我使用正确的服务器,我有正确的权限连接,他们已经通过此服务器发送电子邮件,但没有通过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>
所以我认为它是一个错误,或者我需要定义一个新的套接字连接,问题出在哪里?任何人都可以给我任何关于下一步的指示,以使其正常工作吗?
提前致谢
答案 0 :(得分:0)
虽然这不是您问题的答案,但您可以选择查看mail
包,它提供了另一种通过外部邮件服务器和地址发送邮件的方式:
require(mail)
sendmail("adam@work.com", "Send Mail R- Test", "TESTING TESTING TESTING")
请注意,您每天只能发送20封邮件(以避免垃圾邮件)。
答案 1 :(得分: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
中的键值对,就应该设置为。