2017-05-24 57 views
1

我对R编程相对比较陌生,并且已经开展了一个小小的项目来向R的世界介绍我自己。我想要做的是帮助我的一位同事自动执行他每周都会执行的手动电子邮件过程。是否可以通过RDCOM发送可视化图像?

该电子邮件包含一个以excel创建的图表,DOW指数价格,我们公司的股票价格以及他每周手动更新的一些评论。

我已经想出了如何使用RDCOMClient包来发送电子邮件,但是我想要做的是将电子邮件的主体(如果可能的话,以HTML格式)集成到他的图表和股票价格中。我希望自动化所有这些,所以他所要做的就是更新评论并运行脚本。

这里的关键限制因素是目标受众,这将会出现在那些真正不喜欢打开电子邮件附件的管理人员身上。他们想在手机上打开电子邮件,获取相关信息,然后继续。

这是我的程序看起来像至今:

library(RDCOMClient) 
OutApp <- COMCreate("Outlook.Application") 
outMail = OutApp$CreateItem(0) 
outMail[["To"]] = "[email protected]" 
outMail[["subject"]] = "R Test" 
outMail[["body"]] = "Hello"     
outMail$Send() 

回答

0

当然,首先你保存图像。然后使用HTMLbody插入使用HTML代码的图像,如下所示:

library(htmlTable) 

png("pictest.png") 
plot(iris$Sepal.Length) 
dev.off() 

StockPrice <- "25.25" 

MyHTML <- paste0("<html><p>This is a picture.</p> 
<img src='C:/Users/iwes/Desktop/RWorkingFolder/pictest.png' > 
<p> Our StockPrices is: $", StockPrice, 
"<p>here is a table:</p>", 
htmlTable(head(iris,5))) 

library(RDCOMClient) 
OutApp <- COMCreate("Outlook.Application") 
outMail = OutApp$CreateItem(0) 
outMail[["To"]] = "[email protected]" 
outMail[["subject"]] = "R Test" 
outMail[["HTMLbody"]] = MyHTML     
outMail$Send() 
+0

是否可以插入图像文件以外的内容?如果我编写了一个程序来绘制过去一周股票价格的图表,我可以在电子邮件正文中调用这个视觉效果吗? –

+0

您可以将任何有效的HTML放入电子邮件中(尽管Outlook /电子邮件安全性对于某些事情来说是个问题,对于可视化来说,第一步是将可视化保存为标准图像格式,其他内容可以放入HTML代码以及例如变量,有几个软件包可以制作漂亮的html表格,或者其他的东西,我会在这个例子中加一点 –

+0

让我知道你是否有其他问题 –

相关问题