Skip to content

mrchypark/sendgridr

Repository files navigation

sendgridr

Lifecycle: experimental R-CMD-check send-test CRAN status runiverse-name runiverse-package metacran downloads Downloads

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

Installation

# CRAN version
install.packages("sendgridr")

# Dev version
install.packages("sendgridr", repos = "https://mrchypark.r-universe.dev")

Set API key for authentication

You can set api key using auth_set() function. Also auth_check() function check api key works.

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
#> SendGrid Mail - 
#> ✖   from   : (required)
#> ✖   to     : (required)
#> ✖   subject: (required)
#> ✖   content: (required)
#> ✔   attach : (optional)

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.

library(sendgridr)
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!")
#> SendGrid Mail -
#> ✔   from   : toexam@mail.com <example1@mail.com>
#> ✔   to     : cnt[3] 1 exam <toexam1@mail.com>, 2 exam <toexam2 ...
#> ✔   subject: nchr[15] test mail title
#> ✔   content: nchr[12] hello world!
#> ✔   attach : (optional)

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):

Keon-Woong Moon
Keon-Woong Moon

🐛
Jinseob Kim
Jinseob Kim

🤔
Carl Ganz
Carl Ganz

🤔
peter-bastian
peter-bastian

🐛
Curtis Petersen
Curtis Petersen

🤔 👀
Amanda Dobbyn
Amanda Dobbyn

💻
Emanuele Guidotti
Emanuele Guidotti

📖 ⚠️ 🐛 💻
Antoine Languillaume
Antoine Languillaume

🐛 💻

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