从闪亮的发送电子邮件

use*_*230 7 r shiny

我是一个新的Shiny用户,我有兴趣创建一个Web应用程序,访问者可以填写一些问题(取决于随机R数据),他们可以提交.

我的问题是找到通过电子邮件向我发送信息的方式,例如,每次他们提交数据时.

我是一名大学讲师,我认为这是评估学生的好方法.

Sté*_*ent 7

这是我写的Shiny电子邮件发件人,用于sendmailR在Shiny应用程序中测试包.在Linux平台上,我没有配置任何东西,应用程序完美无缺.用户在由shinyAce包生成和处理的文本区域中键入消息的主体.

ui.R

shinyUI(pageWithSidebar(

  headerPanel("Email sender"),

  sidebarPanel(
    textInput("from", "From:", value="from@gmail.com"),
    textInput("to", "To:", value="to@gmail.com"),
    textInput("subject", "Subject:", value=""),
    actionButton("send", "Send mail")
  ),

  mainPanel(    
    aceEditor("message", value="write message here")
  )

))
Run Code Online (Sandbox Code Playgroud)

server.R

library(shinyAce)
library(sendmailR)

shinyServer(function(input, output, session) {

  observe({
    if(is.null(input$send) || input$send==0) return(NULL)
    from <- isolate(input$from)
    to <- isolate(input$to)
    subject <- isolate(input$subject)
    msg <- isolate(input$message)
    sendmail(from, to, subject, msg)
  })

})
Run Code Online (Sandbox Code Playgroud)

  • @Jim也许RStudio家伙还没有在shinyapps上配置邮件服务器,以便他们的所有用户都不使用他们的服务器发送一些电子邮件(这不是我的错,不是我拒绝回答的理由......) (3认同)

Pau*_*tra 1

R绝对可以发送电子邮件。谷歌搜索R send email引导我找到了这个sendmailR包,它可以从 CRAN 获得。另请看一下: