我有一个R脚本,我想在完成后自动使用Microsoft Outlook发送电子邮件。我正在使用“RDCOMClient”包,并且想向电子邮件添加多个附件。

这是我要使用的代码:

library(RDCOMClient)

OutApp <- COMCreate("Outlook.Application")

outMail = OutApp$CreateItem(0)

outMail[["To"]] = paste("[email protected]","[email protected]", sep=";", collapse=NULL)
outMail[["subject"]] = "some subject"
outMail[["body"]] = "some body"
outMail[["attachments"]]$Add("C:/Path/To/The/Attachment/File.ext")

outMail$Send()

我尝试对附件使用粘贴,例如“收件人”选项,但我99%确信这是使附件破裂的原因,因为它只能与一个附件一起使用。它非常适合添加多个收件人。有谁知道我可以使用此软件包添加多个附件吗?

最佳答案

只需添加另一条附件行:

outMail[["attachments"]]$Add("C:/Path/To/The/Attachment/File.ext")
outMail[["attachments"]]$Add("C:/Path/To/The/Attachment/File2.ext")

map(循环)在附件对象上:
attachments <- c("C:/Path/To/The/Attachment/File.ext",
                 "C:/Path/To/The/Attachment/File2.ext")

purrr::map(attachments, ~ outMail[["attachments"]]$Add(.))

09-05 03:29