【问题标题】:Emailing multiple attachments using RDCOMClient and Outlook使用 RDCOMClient 和 Outlook 通过电子邮件发送多个附件
【发布时间】:2016-06-27 17:22:29
【问题描述】:

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

这是我尝试使用的代码:

library(RDCOMClient)

OutApp <- COMCreate("Outlook.Application")

outMail = OutApp$CreateItem(0)

outMail[["To"]] = paste("recipient@account.com","another@gmail.com", sep=";", collapse=NULL)
outMail[["subject"]] = "some subject"
outMail[["body"]] = "some body"
outMail[["attachments"]]$Add("C:/Path/To/The/Attachment/File.ext")

outMail$Send()

我尝试对附件使用粘贴,例如“收件人”选项,但我 99% 确定这是破坏附件的原因,因为它只适用于一个附件。它非常适合添加多个收件人。有谁知道我如何使用这个包添加多个附件?

【问题讨论】:

  • 对于其他在这个问题上苦苦挣扎的人:我注意到 RDComclient 需要我使用完整的文件路径来附加图像 - 如果您设置了工作区,请不要依赖使用路径的一部分.

标签: r email outlook rdcomclient


【解决方案1】:

只需添加另一个附件行:

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

或者map(loop) 在附件对象上:

attachments <- c("C:/Path/To/The/Attachment/File.ext",
                 "C:/Path/To/The/Attachment/File2.ext")

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

【讨论】:

    【解决方案2】:

    我想我知道如何解决这个问题。我几乎每天都会使用 R 一次发送多个附件。

    首先,在执行 for 函数之前,您必须将工作目录设置为保存文件的目录,然后您就可以运行代码了。

    setwd("path")
          for(j in 1:length(dir())){
              outMail[["Attachments"]]$Add(paste(path,dir()[j],sep="/"))
          }
    

    对不起,如果我不够清楚,这是 StackOverFlow 上的第一个答案。希望你能得到它!

    【讨论】:

      猜你喜欢
      • 2015-08-10
      • 1970-01-01
      • 1970-01-01
      • 2016-04-28
      • 2019-10-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-13
      相关资源
      最近更新 更多