-
-
Save MarkEdmondson1234/ddcac436cbdfd4557639522573bfc7b6 to your computer and use it in GitHub Desktop.
#' Email a user a report is ready | |
#' | |
#' Requires an account at Mailgun: https://mailgun.com | |
#' Pre-verification can only send to a whitelist of emails you configure | |
#' | |
#' @param email Email to send to | |
#' @param mail_message Any extra info | |
#' | |
#' @return TRUE if successful email sent | |
#' @import httr | |
#' @export | |
sendEmail <- function(email = "XXXXX@you.com", | |
mail_message = "Hello"){ | |
url <- "https://api.mailgun.net/v3/sandbox5f2XXXXXXXa.mailgun.org/messages" | |
## username:password so api_key is all after the api: | |
api_key <- "key-c5957XXXXXXXXXXXbb9cf8ce" | |
the_body <- | |
list( | |
from="Mailgun Sandbox <postmaster@sandbox5XXXXXXXXa.mailgun.org>", | |
to=email, | |
subject="Mailgun from R", | |
text=mail_message | |
) | |
req <- httr::POST(url, | |
httr::authenticate("api", api_key), | |
encode = "form", | |
body = the_body) | |
httr::stop_for_status(req) | |
TRUE | |
} |
For email attachments, modify above to include HTML files - see the API docs https://documentation.mailgun.com/en/latest/api-sending.html#sending
e.g.
the_body <-
list(
from = from_name,
to = email,
subject = subject_line,
html = html_string
)
Hello!! Really enjoyed this function because I want to get rid of mailR::send.mail()
that depends on rJava
. But, how can I send attachments with PDFs, ggplots objects, CSVs, and simple HTML files as mailR
does? Can you please share a reproducible example? Already have mi API credentials and is working just fine with simple texts.
I think it must have something to do with add_headers("Content-Type" = "multipart/form-data")
in the POST
function, and something like pdf = upload_file("~/Desktop/myPDF.pdf")
inside the the_body
list. But haven't succeeded
UPDATE: I got to send an attachment file with what I commented above. But can't send more than one in the same email! Is it possible? tried a list for attachment
inside the the_body
but doesn't work.
Pimped it up a little: https://github.com/laresbernardo/lares/blob/master/R/mails.R
Just need to know how to send multiple attachments for it to fully work!
Sorry I missed your comment @laresbernardo, they only just started sending notifications.
how do you send attachments? thanks