如何从 R 中的 Blasula 电子邮件中删除灰色边框

Bas*_*era 4 r r-markdown blastula

默认情况下,Blastula 用灰色边框将 RMarkdown 电子邮件括起来。这在 Gmail 上看起来是错误的,因为 Gmail 已经在电子邮件中添加了灰色边框,将所有降价邮件与一个灰色框内的白色框、另一个灰色框内的另一个白色框框在一起。

在此输入图像描述

我用来生成这封电子邮件的代码如下:

informe_html <- readr::read_file("html_email.html")
  email <- compose_email(body = md(informe_html))
Run Code Online (Sandbox Code Playgroud)

我的 html 文件根本没有边框,只有白色背景上的深灰色背景。其余的浅灰色、白色和浅灰色边框是由 Blastula 添加的。

小智 5

email生成的对象包含HTML compose_email(),因此您可以使用字符串操作来更改电子邮件的外观。当您检查 HTML 代码时,灰色看起来像是来自具有<body>style 属性的标签:background-color:#f6f6f6。删除此标签应该会删除消息周围的灰色边框。

blastula_message对象似乎有两个版本的 HTML 消息:

  • html_str:以字符串形式存储的原始 HTML。
  • html_html:作为对象存储的 HTML html

第一个是您使用时实际发送的内容smtp_send(),第二个似乎是您通过预览消息时看到的内容 print(email)。为了安全起见,您可以background-color从两者中删除该属性:

email$html_str <- sub(
  x = email$html_str,
  pattern = "background-color:#f6f6f6(;)",
  replacement = "")

email$html_html <- sub(
  x = email$html_html,
  pattern = "background-color:#f6f6f6(;)",
  replacement = "")
Run Code Online (Sandbox Code Playgroud)

模式(;)中的 in casebackground-color不是 的唯一样式属性<body>

当您预览时,email灰色边框现在应该消失,因为邮件的背景现在将是透明的。