工作环境下使用R的mailR包发送邮件失败求助
无人值守R环境下邮件发送失败求助
我遇到了一个未解决的邮件发送问题,情况与Stack Overflow上某条提问完全一致,故在此求助。
需求是在R中实现邮件发送功能,最终用于tryCatch模块,当R脚本报错时自动发送提醒邮件。但代码运行在受防火墙、微软防护及VPN保护的工作电脑/虚拟机上,需要支持无人值守的定时任务。
目前已通过Microsoft365R成功发送邮件,但该方案会弹出Chrome窗口要求手动登录,无法用于无人值守场景。因此尝试使用mailR包,分别配置Hotmail和Gmail的SMTP服务器发送邮件,均出现发送失败的错误,相关代码及错误信息如下:
成功但需手动登录的Microsoft365R代码
library(Microsoft365R) my_outlook <- get_personal_outlook() my_email <- my_outlook$create_email(content_type = "html")$ set_body("<p>Testing to see if R can email</strong>.</p>")$ set_subject("Did R email you?")$ set_recipients(to = c("Person@mywork.org", "Person2@mywork.org"))$ send()
mailR配置Hotmail的代码及错误
library(mailR) sender <- "MyPersonal@hotmail.com" recipients <- c("Mywork@myWork.org") email <- send.mail( from = sender, to = recipients, subject = "Test Email", body = "Testing to see if R can email", smtp = list( host.name = "smtp.live.com", port = 587, user.name = "MyPersonal@hotmail", passwd = "MyPassword", tls = TRUE ), authenticate = FALSE, send = TRUE )
错误信息:
EmailException (Java): Sending the email to the following server failed : smtp.live.com:587
mailR配置Gmail的代码及错误
send.mail( from = "mypersonal@gmail.com", to = "mypersonal@gmail.com", subject = "test", body = "test", smtp = list( host.name = "smtp.gmail.com", port = 465, user.name = "myUsername", passwd = "MyPassword", ssl = TRUE ), authenticate = TRUE, send = TRUE )
错误信息:
EmailException (Java): Sending the email to the following server failed : smtp.gmail.com:465[1] "Java-Object{org.apache.commons.mail.SimpleEmail@496bc455}"
由于错误信息模糊,希望得到具体的解决思路。
内容的提问来源于stack exchange,提问作者Joe Crozier
相关产品推荐
相关产品推荐

