【发布时间】:2015-07-27 13:12:45
【问题描述】:
我使用 Shiny 创建了一个应用程序并上传到了 Shinyapps.io 的服务器;我已经测试过了,一切都很好。我的应用程序通过 server.R 创建一个文本文件,当用户完成任务时我想将其发送到我的电子邮件。我想将该文件发送到我的电子邮件,因为我看不到在 shinyapps.io 管理工具中查看闪亮应用程序输出的文件的方法。所以底线是,如何将文件从闪亮的应用程序发送到我的电子邮件?
例如,如果我有以下情况:
library(sendmailR)
datos<-read.table("data.txt")
to <- "<loretta@gmail.com>"
subject <- "Email Subject"
body <- "Email body."
mailControl=list(smtpServer="ASPMX.L.GOOGLE.COM")
sendmail(from="localhost",to=to,subject=subject,msg=body,control=mailControl)
attachmentObject <- mime_part(name=datos)
bodyWithAttachment <- list(body,attachmentObject)
sendmail(from="localhost",to=to,subject=subject,msg=bodyWithAttachment,control=mailControl)
我想知道我应该在from部分放什么,我的意思是我已经放了它localhost,但我需要把闪亮的地址放在哪里应用程序正在运行;从哪里可以得到?
另外,当我运行上述代码时,不是在 Shiny 环境中,而是作为脚本在 sendmail 部分之后出现以下错误:
Error in wait_for(code) :
SMTP Error: 5.5.2 Syntax error. g22si4860678yhc.87 - gsmtp
任何帮助都会很棒
【问题讨论】:
-
看看这里。我认为从 R stackoverflow.com/questions/2885660/… 向 gmail 帐户发送电子邮件很容易
-
已经尝试过@pops,但一点运气都没有
-
我尝试了不同的方式。只需使用 R 文件创建一个 html 并创建一个批处理来运行 R 文件并附加 html 文件并发送邮件。我认为您可以将其用作解决方法,直到它起作用为止。
-
sendmailR 包发生了一些问题,似乎不再起作用。尝试使用 MailR 包,如果加载时遇到问题,您可能还需要指定 rJava 的目录
-
从您的问题中了解到,您想发送电子邮件是因为您无法保存文件。此链接说明了如何跨会话共享数据:goo.gl/Aa4bsp 第一个选项使用 Amazon S3,有一个示例 (goo.gl/EZgyKZ),看起来很容易实现。如果您想为每个用户创建一个单独的文件,您可以在每个会话中更改 .txt 的名称(我通常通过 paste0(as.numeric(Sys.time()),".txt"))
标签: r email smtp shiny shiny-server