Send Email from R

In R, there is a package named mailR that allows you to send emails from R. In this tutorial, I will show you how to send email using gmail and MS Outlook.

R Code : Send Email from R using gmail account
library(mailR)
send.mail(from="sandy.david@gmail.com",
to="deepanshu.bhalla@outlook.com",
subject="Test Email",
body="PFA the desired document",
html=T,
smtp=list(host.name = "smtp.gmail.com",
port = 465,
user.name = "sandy.david@gmail.com",
passwd = "xxxxxxxxx",
ssl = T),
authenticate=T,
attach.files="C:\\Users\\Deepanshu\\Downloads\\Nature of Expenses.xls")

Detailed Explanation
  1. In "from =" option, you can enter email address using which you want to send email.
  2. In "to=" option, you  need to specify email address of the recipient. Similarly, you can enter your desired subject line and body of the email.
  3. Keep host.name and port under "smtp=" parameter as it is. Don't change anything. Enter your user.name and password of the gmail account you want to use to send email.
  4. Under attach.files= option, you can mention path of the file you want to attach in the email.

You can add multiple recipients including the following code.
to = c("Recipient 1 <recipient1@gmail.com>", "recipient2@gmail.com"),
cc = c("CC Recipient <cc.recipient@gmail.com>"),
bcc = c("BCC Recipient <bcc.recipient@gmail.com>")

R : Send email using MS Outlook

In enterprise environment, we generally send email using Microsoft (MS) Outlook. You can use RDCOMClient package to complete this task.

How to install RDCOMClient package
# For R Version (R >= 3.5)
install.packages("RDCOMClient", repos = " http://www.omegahat.net/R")

# For R Version (R <= 3.4.4)
install.packages("RDCOMClient", repos = " http://www.stats.ox.ac.uk/pub/RWin")
library("RDCOMClient")
OutApp <- COMCreate("Outlook.Application")

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

## configure email parameter
outMail[["To"]] = "abc@gmail.com"
outMail[["subject"]] = "Test Email"
outMail[["body"]] = "Hi, How are you?"

## send it
outMail$Send()
Send HTML Email Message

The main advantage of HTML email is that it supports various formatting options. For example, it supports line break, font color etc.

Replace outMail[["body"]] = "Hi, How are you?" with the following code
bd = paste("Hi,", "<br>", "Output File has been saved on location")
outMail[["HTMLbody"]] = bd
You can also send attachments using the following syntax
outMail[["Attachments"]]$Add("C:/Users/bhalla/sample.xlsx")

R Tutorials : 75 Free R Tutorials

About Author:

Deepanshu founded ListenData with a simple objective - Make analytics easy to understand and follow. He has over 7 years of experience in data science and predictive modeling. During his tenure, he has worked with global clients in various domains like banking, Telecom, HR and Health Insurance.

While I love having friends who agree, I only learn from those who don't.

Let's Get Connected: Email | LinkedIn

Get Free Email Updates :
*Please confirm your email address by clicking on the link sent to your Email*
Related Posts:
7 Responses to "Send Email from R"
  1. wow, it is the edge of R ("era eRa" - in Polish) :)

    ReplyDelete
  2. gmail doesnt allow any non gmail app to send email.
    In my case it is not working

    ReplyDelete
  3. Nice article ...one question ,can we attach outlook signature in the email created by the R program?...If yes,the how?

    ReplyDelete
  4. Can we send file data as table and text message both in mail using R. The body part either sends message or table.

    ReplyDelete
  5. Incase you get any error:
    1. Enable access to 'less secure apps' here:

    http://www.google.com/settings/security/lesssecureapps

    2. Disable two step authentication

    ReplyDelete

Next → ← Prev