R:PDF 作为电子邮件自动化中的附件

R: PDF as attachment in email automation

需要问一个基本问题。我想用 R Studio 发送带有 PDF 附件的自动电子邮件。但是,当我 运行 附件的 outMail 行时,出现以下错误:

<checkErrorInfo> 80020009 
No support for InterfaceSupportsErrorInfo
checkErrorInfo -2147352567
Errore: Eccezione.

我 100% 确定问题出在 outMail 行,因为所有其他行都不会产生任何错误,代码在没有附件或附件不是 pdf 的情况下也能正常工作。

(使用 Outlook)

代码如下:

#install.packages("RDCOMClient")
#library("RDCOMClient")

## initiation com api
OutApp <- COMCreate("Outlook.Application")

## create an email 
outMail = OutApp$CreateItem(0)

## configure  email 
outMail[["To"]] = "myemail@outlook.com"
outMail[["subject"]] = "some subject"
outMail[["body"]] = "some body"

##send it    
path_to_file = "C:\Users\Desktop\app\mypdf.pdf"
outMail[["Attachments"]]$Add(normalizePath(path_to_file))

#send email
outMail$Send()

已经尝试只放一个 \ 或将它们放在相反的经文中 /

问题是路径是在 R 中创建的,它更喜欢正斜杠(因为反斜杠是转义字符),但它被 Outlook 解释,它只接受反斜杠。

代码中不需要使用normalizePath函数。例如:

##send it    
path_to_file = "C:\Users\Desktop\app\mypdf.pdf"
outMail[["Attachments"]]$Add(path_to_file)

R 将删除转义字符,并将干净的路径传递给 Outlook。