美文网首页R
R语言发送邮件

R语言发送邮件

作者: Liam_ml | 来源:发表于2020-09-10 09:04 被阅读0次

Blastula 0.3的电子邮件

我们很高兴宣布blastula,这是一个用于在R中创建漂亮的自定义电子邮件的程序包。在RStudio中,我们喜欢交互式仪表板,但在某些情况下需要使用不同的通信机制。使用囊囊可以:

  • 根据代码,代码输出和降价撰写自定义电子邮件正文

  • 使用SMTP服务器(甚至是GMail)发送电子邮件,或与RStudio Connect等生产服务集成

Blastula使得从异常检测到幻想篮球结果的一切通知变得容易,而无需离开R。

首先,从CRAN安装blastula:

install.packages('blastula')

创建电子邮件

Blastula的独特优势在于创建可在各种电子邮件客户端(包括移动客户端)中呈现的自定义HTML电子邮件正文。推荐的创建电子邮件的方法是使用blastula的R Markdown输出格式。blastula::blastula_email。电子邮件的正文将尊重R Markdown输出,包括markdown语法和代码块输出。

---
output: blastula::blastula_email 
--- 

Hi Team,

This *important* forecast needs to go out today.

```{r echo=FALSE}
model <- arima(presidents, c(1, 0, 0))
predict(model, 3)

要从R Markdown文档创建电子邮件,请使用render_email

email <- render_email('email.Rmd')

可以在RStudio中预览生成的电子邮件对象。

来自R Markdown的电子邮件

或者,可以通过使用compose_email合并文本,图像甚至绘图的功能来创建不带R Markdown的电子邮件:

library(blastula)
library(ggplot2)
library(glue)
plot <- qplot(disp, hp, data = mtcars, colour = mpg)
plot_email <- add_ggplot(plot)

email <- compose_email(
  body = md(c(
     "Team, How would you plot the relationship between these 3 variables?",
      plot_email
  ))
)
在RStudio中预览blastula电子邮件

请访问文档以了解如何嵌入图像,设置电子邮件标题和页脚,甚至添加号召性用语按钮。

使用SMTP发送自定义电子邮件

为了发送电子邮件,blastula包含用于访问SMTP服务器(例如GMail,Outlook和Office365)的功能。

首先,安全地告诉blastula有关您的SMTP服务器的信息:

create_smtp_creds_key(
  id = "gmail",
  user = "user_name@gmail.com",
  provider = "gmail"
)

接下来,使用SMTP服务发送您的自定义电子邮件:

email %>%
  smtp_send(
    from = "personal@email.net",
    to = "personal@email.net",
    subject = "Testing the `smtp_send()` function",
    credentials = creds_key(id = "gmail")
  )

使用RStudio Connect发送自定义电子邮件

组织可以在RStudio Connect的生产中使用囊囊。例如,我们使用囊胚来跟踪关键服务,例如支持票数量和员工培训时间表。

一个简单的入门方法是访问RStudio Connect示例:

blastula::prepare_rsc_example_files()

将生成的R Markdown文档发布到RStudio Connect,在此可以 安排定期执行 并分发给利益相关者。

在RStudio Connect中安排和发送电子邮件

Blastula提供了三个附加功能,可以更轻松地为RStudio Connect创建电子邮件。

  • render_connect_email 自动将页脚添加到电子邮件中,并提供指向RStudio Connect内容的有用链接。

  • attach_connect_email 确保RStudio Connect发送自定义电子邮件,并且还使自定义主题行,添加其他电子邮件附件以及可选地附加报告输出变得容易。

  • suppress_scheduled_email()允许您跳过发送电子邮件。这种模式非常强大。例如,报告可以每天运行一次,但是仅在满足某些条件时才分发。

这三个功能可以一起用于发送主动通知:

if (demand_forecast > 1000) {
  render_connect_email(input = "alert-supply-team-email.Rmd") %>%
  attach_connect_email(
    subject = sprintf("We need to prepare %d units!", demand_forecast),
    attach_output = TRUE,
    attachments = c("demand_forecast_data.csv")
  )
} else {
  suppress_scheduled_email() 
}

请确保访问blastula网站以查找其他资源。毕竟,谁不希望他们的收件箱中有ggplot?

参考:https://cosx.org/2020/07/send-email-serious-elegant/

相关文章

网友评论

    本文标题:R语言发送邮件

    本文链接:https://www.haomeiwen.com/subject/yzpuektx.html