我正在使用“pander”和“sendmailr”包在电子邮件正文中发送一个小数据框,而不是作为附件。我想将它从一个 gmail 帐户发送到一个 gmail 帐户。
我很接近,但列标题不会像在 Rstudio 中那样与电子邮件正文中的列本身对齐 - 基本上列标题太宽而无法与它们下面的数据列对齐。
似乎问题在于破折号和空格在各种电子邮件客户端中的压缩方式(我通过网络和 OS X Mavericks 附带的电子邮件客户端在 gmail、yahoo 和 hotmail 中尝试了这个)。我可以通过转到“首选项”并选中标有“对纯文本消息使用固定宽度字体”的框来解决我的 OS X 电子邮件客户端中的问题,但我希望它可以在多个设备上工作我的许多同事的客户等,所以我想知道是否有一种不涉及全局电子邮件设置的方法。
这是重现问题的代码:
library(sendmailR) # for emails from R
library(pander) # for table-formatting that does not require HTML
results <- head(iris)
pander(results) # widths look great so far...
a = pandoc.table.return(results)
strsplit(a, "\n") # widths still look great...
panderOptions('table.split.table', Inf) # show all columns on same line
msg_content <- mime_part(
pandoc.table.return(results, style = "multiline")
)
# I'm using my own gmail address for email_from and email_to
sendmail(from = email_from,
to = email_to,
subject = "test",
msg = msg_content
)
…并且收到的电子邮件存在上述问题。
接下来,您可以看到说明问题的图像: