Sending Email Attachement Through Outlook in R with RDCOMClient

GregK picture GregK · May 27, 2015 · Viewed 7.8k times · Source

I'm Running a daily analysis that spits out a file I would like sent through my outlook Email. The code I used is featured here, and works wonderfully but the attachment part of it never works...

library(RDCOMClient)


OutApp <- COMCreate("Outlook.Application")


outMail = OutApp$CreateItem(0)

outMail[["To"]] = "[email protected]"
outMail[["subject"]] = "Bruh"
outMail[["body"]] = "Tester"
outMail[["Attachments"]]$Add("L:/Document.csv")

outMail$Send()

The original is here:

Sending email in R via outlook

The code works until the attachment part, and the email even sends, just with no Attachment. It spits this error out:

<checkErrorInfo> 80020009 
No support for InterfaceSupportsErrorInfo
checkErrorInfo -2147352567
Error: Exception occurred.

Any Ideas?

Answer

Frameworker247 picture Frameworker247 · Jan 21, 2016

Reverse the slashes and escape them.

The problem is that the path is being created in R, which prefers forward slashes (since the backslash is the escape character), but it's being interpreted by Outlook, which only takes backslashes.

For example, try adding an attachment to an Outlook email by pasting a path into the insert file dialogue, but change the backslashes to forward slashes. It doesn't accept it. And that's essentially what you're trying to do.

So reverse to make them backslashes, then add extra backslashes to each one to escape them. For example:

C:\\Users\\MyFiles\\Documents\\document.txt

R will strip out the escape characters and and pass a clean path to Outlook.