sendmailR-已附加多个收件人

sendmailR-已附加多个收件人,r,sendmail,sendmailr,R,Sendmail,Sendmailr,我成功地实现了sendmailR功能,向一个收件人发送一封邮件 您知道是否可以在函数中向多个收件人发送相同的消息吗?抄送的一种形式 如果不是的话,我认为唯一的方法就是循环一个变量,这通常是可以的,但是对于我目前的代码来说,循环中会有一个循环,这会使事情变得相当复杂,希望不必要 我在文档中看不到任何显示类似以下功能的内容--> 感谢您的帮助,我将继续测试,看看是否有一个工作围绕着inm的同时 在sendmail的源代码中,它声明 if (length(to) != 1) stop

我成功地实现了sendmailR功能,向一个收件人发送一封邮件

您知道是否可以在函数中向多个收件人发送相同的消息吗?抄送的一种形式

如果不是的话,我认为唯一的方法就是循环一个变量,这通常是可以的,但是对于我目前的代码来说,循环中会有一个循环,这会使事情变得相当复杂,希望不必要

我在文档中看不到任何显示类似以下功能的内容-->


感谢您的帮助,我将继续测试,看看是否有一个工作围绕着inm的同时

sendmail
的源代码中,它声明

if (length(to) != 1) 
        stop("'to' must be a single address.")
这就给你留下了几个选项(都是循环)。与发送电子邮件相比,循环的执行时间可以忽略不计。有两种选择:

选择1 使用
Vectorize
sendmail
to
参数矢量化,允许您提供要发送到的电子邮件地址的字符矢量

sendmailV <- Vectorize( sendmail , vectorize.args = "to" )
emails <- c( "me@thisis.me.co.uk" , "you@whereami.org" )
sendmailV( from = "me@me.org" , to = emails )

这对我来说是个诀窍: 分别定义from、msg、subject和body:

from <- sprintf("<sendmailR@%s>", Sys.info()[4]) 
.....
TO <- c("<adres1@domain.com>", "<adres2@domain.com>")
sapply(TO, function(x) sendmail(from, to = x, subject, msg, body))

从您可以尝试github上提供的mailR包的开发版本

使用mailR,您可以发送HTML格式的电子邮件,如下所示:

send.mail(from = "sender@gmail.com",
          to = c("recipient1@gmail.com", "recipient2@gmail.com"),
          cc = c("CCrecipient1@gmail.com", "CCrecipient2@gmail.com"),
          subject = "Subject of the email",
          body = "<html>The apache logo - <img src=\"http://www.apache.org/images/asf_logo_wide.gif\"></html>",
          html = TRUE,
          smtp = list(host.name = "smtp.gmail.com", port = 465, user.name = "gmail_username", passwd = "password", ssl = TRUE),
          authenticate = TRUE,
          send = TRUE)
send.mail(发件人=”sender@gmail.com",
to=c(“recipient1@gmail.com", "recipient2@gmail.com"),
cc=c(“CCrecipient1@gmail.com", "CCrecipient2@gmail.com"),
subject=“电子邮件的主题”,
body=“apache徽标-”,
html=TRUE,
smtp=list(host.name=“smtp.gmail.com”,port=465,user.name=“gmail\u username”,passwd=“password”,ssl=TRUE),
验证=真,
发送=真)

@Rahul在回答问题时,这不是一个选项。也许你应该加上这个作为一个新的答案,现在这个软件包是可用的。西蒙:同意!在下面添加一个新帖子。
send.mail(from = "sender@gmail.com",
          to = c("recipient1@gmail.com", "recipient2@gmail.com"),
          cc = c("CCrecipient1@gmail.com", "CCrecipient2@gmail.com"),
          subject = "Subject of the email",
          body = "<html>The apache logo - <img src=\"http://www.apache.org/images/asf_logo_wide.gif\"></html>",
          html = TRUE,
          smtp = list(host.name = "smtp.gmail.com", port = 465, user.name = "gmail_username", passwd = "password", ssl = TRUE),
          authenticate = TRUE,
          send = TRUE)