sendgridr

Lifecycle: experimental R-CMD-check test-coverage CRAN status metacran downloads

The goal of sendgridr is to mail using r with sendgrid service that provides free 100 mail per day forever.

Installation

CRAN

You can install the released version of sendgridr from CRAN with:

install.packages("sendgridr")

Github

You can install the developing version of sendgridr from Github with:

# install.packages("remotes")
remotes::install_github("mrchypark/sendgridr")

Set API key for authentication

You can set api key env value name SENDGRID_API. auth_check() function check whether key named SENDGRID_API is set or not, whether key is dummy or not, whether key works or not. auth_set() function ask some questions and open browser for create api key, open .Renviron for set SENDGRID_API value.

auth_check()
auth_set()

Send mail

Example code

Please replace your conditions.

mail() %>% 
  from("example1@mail.com", "example name for display") %>% 
  to("example2@mail.com", "example name for display 2") %>% 
  subject("test mail title") %>% 
  body("hello world!")  %>% 
  ## attachments is optional
  attachments("report.html") %>% 
  send()

sg_mail class

mail() function create sg_mail class object and also list. sg_mail class only has print method.

sendproject1 <- mail()
class(sendproject1)
#> [1] "sg_mail" "list"
sendproject1
#> $personalizations
#> list()
#> 
#> $from
#> [1] ""
#> 
#> $subject
#> [1] ""
#> 
#> $content
#> list()
#> 
#> attr(,"class")
#> [1] "sg_mail" "list"

to, from, subject, body are required. cc, bcc, attachments are optional.

multi- setting using inline

to, cc, bcc, attachments functions are able to set multi values.

mail() %>% 
  from("example1@mail.com", "toexam@mail.com") %>% 
  to("toexam1@mail.com", "1 exam") %>% 
  to("toexam2@mail.com", "2 exam") %>% 
  to("toexam3@mail.com", "3 exam") %>% 
  subject("test mail title") %>% 
  body("hello world!")
#> $personalizations
#> $personalizations$to
#> $personalizations$to[[1]]
#> $personalizations$to[[1]]$email
#> [x] "toexam1@mail.com"
#> 
#> $personalizations$to[[1]]$name
#> [x] "1 exam"
#> 
#> 
#> $personalizations$to[[2]]
#> $personalizations$to[[2]]$email
#> [x] "toexam2@mail.com"
#> 
#> $personalizations$to[[2]]$name
#> [x] "2 exam"
#> 
#> 
#> $personalizations$to[[3]]
#> $personalizations$to[[3]]$email
#> [x] "toexam3@mail.com"
#> 
#> $personalizations$to[[3]]$name
#> [x] "3 exam"
#> 
#> 
#> 
#> 
#> $from
#> $from$email
#> [x] "example1@mail.com"
#> 
#> $from$name
#> [x] "toexam@mail.com"
#> 
#> 
#> $subject
#> [x] "test mail title"
#> 
#> $content
#>        type        value
#> 1 text/html hello world!
#> 
#> attr(,"class")
#> [1] "sg_mail" "list"

TODO

Code of Conduct

Please note that the sendgridr project is released with a Contributor Code of Conduct. By contributing to this project, you agree to abide by its terms.

Contributors ✨

Thanks goes to these wonderful people (emoji key):


Jinseob Kim

🤔

Carl Ganz

🤔

peter-bastian

🐛

Curtis Petersen

🤔 👀

Amanda Dobbyn

💻

This project follows the all-contributors specification. Contributions of any kind welcome!