如何移除R语言中Blastula生成邮件的灰色边框?
解决Blastula邮件在Gmail中边框嵌套异常的问题
默认情况下,Blastula会为RMarkdown生成的邮件添加灰色边框,而Gmail自身也会给邮件套一层灰色边框,最终导致邮件出现多层嵌套的灰框、白框结构(灰框内套白框,白框里再叠灰框、白框),显示效果异常。

我生成该邮件的代码如下:
informe_html <- readr::read_file("html_email.html") email <- compose_email(body = md(informe_html))
注:我的HTML文件本身没有设置任何边框,仅包含深灰色和白色背景,那些额外的浅灰、白色边框都是Blastula自动添加的。
解决方案
要解决这个冲突,只需要覆盖Blastula默认的边框样式即可,有两种常用方法:
方法一:直接在compose_email中自定义body样式
通过body_style参数将默认的边框设置为无,同时可以调整内边距避免多余空白:
informe_html <- readr::read_file("html_email.html") email <- compose_email( body = md(informe_html), body_style = "border: none; padding: 0;" )
方法二:创建自定义邮件主题
如果需要更全面的样式定制,可以创建一个移除默认边框的主题:
# 定义自定义主题,清除默认边框 custom_theme <- blastula::theme_email( body_border = "none", body_background = "#ffffff" # 可根据自身需求调整背景色 ) informe_html <- readr::read_file("html_email.html") email <- compose_email( body = md(informe_html), theme = custom_theme )
两种方法都能避免Blastula添加的边框与Gmail自带边框冲突,解决多层嵌套的显示问题。
内容的提问来源于stack exchange,提问作者Bastián Olea Herrera
相关产品推荐
相关产品推荐

