Also, you may need to restart Outlook after installing the package in R, if you get an error like 'Error: Exception occurred.'.
library(RDCOMClient)
OutApp <- COMCreate("Outlook.Application")
outMail = OutApp$CreateItem(0)
outMail[["To"]] = "recipient's email address"
outMail[["subject"]] = "subject"
outMail[["body"]] = "body text"
outMail$Send()
To send emails to multiple recipients, use semicolon (;) to separate email addresses:
OutApp <- COMCreate("Outlook.Application")
outMail = OutApp$CreateItem(0)
outMail[["To"]] = "recipient's email address 1; recipient's email address 2"
outMail[["subject"]] = "subject"
outMail[["body"]] = "body text"
outMail$Send()
To send emails with attachment(s):
OutApp <- COMCreate("Outlook.Application")
outMail = OutApp$CreateItem(0)
outMail[["To"]] = "recipient's email address"
outMail[["subject"]] = "subject"
outMail[["body"]] = "body text"
outMail[["Attachments"]]$Add("full path to file")
#e.g. "C:/Users/Documents/someFile.txt"
#note the use of forward slash instead of back slash as you'd normally do in R when setting path to the attachment
outMail$Send()
To embed table within the body of the email:
library(pander)
panderOptions('table.split.table', Inf)
OutApp <- COMCreate("Outlook.Application")
outMail = OutApp$CreateItem(0)
outMail[["To"]] = "recipient's email address"
outMail[["subject"]] = "subject"
outMail[["body"]] = paste("Hello!", "", "The below summarises xxx:", pandoc.table.return(data.frame(V1 = 1:5, V2 = LETTERS[1:5])), sep = "\n")
outMail$Send()