0

我可以使用以下代码发送电子邮件。

OutlookForSend = RDCOMClient::COMCreate("Outlook.Application")
emailToSend = OutlookForSend$CreateItem(0)
emailToSend[["subject"]] = "Subject"
emailToSend[["HTMLBody"]] = bodyToSend
emailToSend[["To"]] = "Email"
emailToSend$Send()

但是,我没有在服务器机器上安装 Outlook,但仍然需要发送电子邮件。

我可以使用 Python 中的包邮件程序来实现相同的目标,在 R 中实现相同目标的最佳方法是什么。

谢谢

4

2 回答 2

0

在 R 中实现的任何 SMTP 客户端都可以完成这项工作。看看这个:Rmailer

从他们的例子:

library(Rmailer)


message <- c(
  "Hey,",
  "",
  "I have a nice pic for you!",
  "",
  "Best",
  "C."
)


settings <- list(
  server = "smtp.example.org",
  username = "user",
  password = "password"
)


## send message:
sendmail(
  from = "sender@example.org",
  to = "receiver@example.org",
  subject = "Good news!",
  msg = message,
  smtpsettings = settings,
  attachment = "nice_pic.jpg"
)
于 2021-03-21T07:23:34.773 回答
0

使用mailR包解决了这个问题,它运行良好。

library(mailR)
send.mail(from = "email@company.com",
          to = "email@company.com",
          subject = subjectToSend ,
          body = bodyToSend,
          html = TRUE,
          smtp = list(host.name = "smtp.company.com", port = 25), 
          send = TRUE)
于 2021-03-21T11:21:49.070 回答