You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

工作环境下使用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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.21 01:02:45