使用RDCOMClient通过R中的Outlook发送电子邮件附件

Gre*_*egK 7 email outlook r rdcomclient

我正在运行每日分析,通过我的Outlook电子邮件发出我想发送的文件.我使用的代码在这里有特色,并且工作得非常好,但它的附件部分从未起作用......

library(RDCOMClient)


OutApp <- COMCreate("Outlook.Application")


outMail = OutApp$CreateItem(0)

outMail[["To"]] = "gkinne@horizonmedia.com"
outMail[["subject"]] = "Bruh"
outMail[["body"]] = "Tester"
outMail[["Attachments"]]$Add("L:/Document.csv")

outMail$Send()
Run Code Online (Sandbox Code Playgroud)

原文在这里:

通过outlook在R中发送电子邮件

代码工作到附件部分,电子邮件甚至发送,只是没有附件.它吐出这个错误:

<checkErrorInfo> 80020009 
No support for InterfaceSupportsErrorInfo
checkErrorInfo -2147352567
Error: Exception occurred.
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

Fra*_*247 6

反转斜线并逃脱它们。

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

例如,尝试通过将路径粘贴到插入文件对话框中来向 Outlook 电子邮件添加附件,但将反斜杠更改为正斜杠。它不接受它。这基本上就是你想要做的。

因此,反向使它们成为反斜杠,然后为每个反斜杠添加额外的反斜杠以逃避它们。例如:

C:\\Users\\MyFiles\\Documents\\document.txt
Run Code Online (Sandbox Code Playgroud)

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


Eug*_*iev 0

Attachments 类的Add方法接受四个参数。我建议明确指定它们。

附件的来源可以是文件(由带有文件名的完整文件系统路径表示)或构成附件的 Outlook 项目。确保该文件可访问。