使用 mailR 包通过 R 通过 Outlook 发送经过身份验证的邮件
Posted
技术标签:
【中文标题】使用 mailR 包通过 R 通过 Outlook 发送经过身份验证的邮件【英文标题】:Send authenticated mails via Outlook through R using mailR package 【发布时间】:2019-04-04 02:11:44 【问题描述】:如何通过 Outlook 从 R 发送邮件?
有人告诉我使用sendmailR
包,但我不知道如何指定certain control settings(例如端口、用户名和密码)。我也被重定向到this post,但没有帮助。
我切换到mailR
包。我可以从其他服务器发送邮件,例如smtp.gmail.com
,但我不知道 Outlook 服务器的详细信息。使用mailR
通过 Outlook 发送邮件所需的协议、服务器和端口详细信息是什么?
【问题讨论】:
【参考方案1】:我花了一段时间才弄清楚。试试这个:
send.mail(from = "username@custom.org",
to = c("recipient1@custom.org", "recipient2@custom.org"),
subject = "Title",
body = "Hello from R.",
authenticate = TRUE,
smtp = list(host.name = "smtp.office365.com",
port = 587,
user.name = "username@custom.org",
passwd = "Pa55w0rd",
tls = TRUE))
端口是25或447是一个常见的误解。我相信25端口只能在authenticate = FALSE
时使用。
许多消息来源声称正确的服务器是smtp-mail.outlook.com
。如果代码不起作用,也许你可以试试这个。此外,请勿使用ssl = TRUE
。必须是tls = TRUE
。
感谢 Rahul Premraj 对this archived 2014 question 的回答。
【讨论】:
【参考方案2】:或者你可以使用DescTools::SendOutlookMail()
library(DescTools)
SendOutlookMail(to = c("me@microsoft.com", "you@rstudio.com"),
subject = "Some Info",
body = "Hi all\r Find the files attached\r Regards, Dude",
attachment = c("C:/temp/fileA.txt",
"C:/temp/fileB.txt"))
【讨论】:
我试过这个,但我得到以下错误:以上是关于使用 mailR 包通过 R 通过 Outlook 发送经过身份验证的邮件的主要内容,如果未能解决你的问题,请参考以下文章
Powershell 脚本无法使用任务计划程序通过 Outlook 发送电子邮件
通过 MAPI 使用 Python 从 Outlook 读取电子邮件
如何通过指定发件人地址使用 Microsoft.Office.Interop.Outlook.MailItem 发送邮件