Skip to content

okhoma/emayili

 
 

Repository files navigation

emayili

CRAN status Travis-CI build status Codecov test coverage Lifecycle: experimental

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

Get the stable version from CRAN.

install.packages("emayili")

Or grab it directly from GitHub.

# Install from the master branch.
remotes::install_github("datawookie/emayili")
# Install from the development branch.
remotes::install_github("datawookie/emayili", ref = "dev")

Usage

First create a message object.

library(emayili)
library(magrittr)

email <- envelope()

The message has class envelope.

class(email)
[1] "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)

Simply printing a message displays the header information.

email
Date:         Fri, 10 Apr 2020 08:32:01 GMT
From:         alice@yahoo.com
To:           bob@google.com
Cc:           craig@google.com
Subject:      This is a plain text message!
X-Mailer:     {emayili}-0.3.11

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.

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

print(email, details = TRUE)

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:

Similar Packages

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

About

An R package for sending email messages.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • R 100.0%