Learn R Programming

⚠️There's a newer version (0.9.3) of this package.Take me there.

emayili

emayili is a package for sending emails from R. The design goals are:

  • works on all manner of SMTP servers and
  • has minimal dependencies (or dependencies which are easily satisfied).

The package name is an adaption of the Zulu word for email, imeyili.

Installation

Simply install from GitHub.

remotes::install_github("datawookie/emayili")

Usage

First create a message object.

library(emayili)
library(magrittr)

email <- envelope()

Add addresses for the sender and recipient.

email <- email %>%
  from("alice@yahoo.com") %>%
  to("bob@google.com") %>%
  cc("craig@google.com")

There are also bcc() and reply() functions for setting the Bcc and Reply-To fields.

Add a subject.

email <- email %>% subject("This is a plain text message!")

Add a text body. You can use html() to add an HTML body.

email <- email %>% text("Hello!")

Add an attachment.

email <- email %>% attachment("image.jpg")

Create a SMTP server object and send the message.

smtp <- server(host = "smtp.gmail.com",
               port = 465,
               username = "bob@gmail.com",
               password = "bd40ef6d4a9413de9c1318a65cbae5d7")
smtp(email, verbose = TRUE)

You can identify emails which have been sent using {emayili} by the presence of an X-Mailer header which includes both the package name and version.

Using STARTTLS

If you’re trying to send email with a host that uses the STARTTLS security protocol (like Google Mail, Yahoo! or AOL), then it will most probably be blocked due to insufficient security. In order to circumvent this, you can grant access to less secure apps. See the links below for specifics:

Debugging

To see the guts of the message as passed to the SMTP server, do the following:

cat(emayili:::message(email))

Similar Packages

There is a selection of other R packages which also send emails:

Copy Link

Version

Install

install.packages('emayili')

Monthly Downloads

2,535

Version

0.3.7

License

GPL-3

Maintainer

Andrew Collier

Last Published

March 5th, 2020

Functions in emayili (0.3.7)

server

Create a SMTP server object.
reply

Add Reply-To field to message
mime

Create a MIME (Multipurpose Internet Mail Extensions) object.
message

Create formatted message.
qp_decode

Decode a quoted-printable string.
cc

Add Cc field to message
from

Add From field to message
subject

Add or query subject of message.
text

Add a text body to a message.
format.mime

Format the header of a MIME object.
envelope

Create a message.
to

Add To field to message
qp_encode

Encode a string to quoted-printable.
header

Create formatted header.
html

Add an HTML body to a message object.
bcc

Add Bcc field to message
attachment

Add attachments to a message object