这是一个为日常批处理作业设置的示例,例如在 R 中使用 sendmail() 设置多个附件(一个 CSV,一个 PDF)(与包 sendmailR 一起提供):
设置要在文件名中引用的日期信息:
> yesterday_date_stuff <- new.env()
> yesterday_date_stuff[['month']] <- strftime(Sys.Date()-1, format="%m")
> yesterday_date_stuff[['day']] <- strftime(Sys.Date()-1, format="%d")
> yesterday_date_stuff[['year']] <- strftime(Sys.Date()-1, format="%y")
> yesterday_date_stuff$month
[1] "03"
> yesterday_date_stuff$day
[1] "29"
> yesterday_date_stuff$year
[1] "17"
现在在本文结尾处为 sendmail() 函数创建一些所需的信息:
> from <- "youremail@whateveryourmailserveris.com"
> to <- c("person_A_to_send_email_to@whatever.com", "person_B_to_send_email_to@whatever.com", "person_C_to_send_email_to@whatever.com")
> subject <- paste("whatever you want subject line to read for batch job analyzing data for ", yesterday_date_stuff$month, "/", yesterday_date_stuff$day, "/", yesterday_date_stuff$year, sep="")
> body <- "Text to insert into the body of your email"
在此处指定邮件服务器:
> mailControl=list(smtpServer="mail.whateveryourmailserveris.com")
定义附件 1 路径和名称:
> attachmentPath1 <- paste("file1name", "_", yesterday_date_stuff$month, yesterday_date_stuff$day, yesterday_date_stuff$year, ".csv", sep="")
> attachmentName1 <- paste("file1name", "_", yesterday_date_stuff$month, yesterday_date_stuff$day, yesterday_date_stuff$year, ".csv", sep="")
定义附件 1 对象:
> attachmentObject1 <- mime_part(x=attachmentPath1,name=attachmentName1)
定义附件 2 路径和名称:
> attachmentPath2 <- paste("file2name", "_", yesterday_date_stuff$month, yesterday_date_stuff$day, yesterday_date_stuff$year, ".pdf", sep="")
> attachmentName2 <- paste("file2name", "_", yesterday_date_stuff$month, yesterday_date_stuff$day, yesterday_date_stuff$year, ".pdf", sep="")
定义附件 2 对象:
> attachmentObject2 <- mime_part(x=attachmentPath2,name=attachmentName2)
现在将电子邮件正文与您的附件结合起来:
> bodyWithAttachment <- list(body,attachmentObject1, attachmentObject2)
> bodyWithAttachment
[[1]]
[1] "Text to insert into the body of your email"
[[2]]
<environment: 0x000000004efff188>
attr(,"class")
[1] "mime_part"
[[3]]
<environment: 0x00000000407a1b68>
attr(,"class")
[1] "mime_part"
使用 sendmail() 函数发送电子邮件:
> sendmail(from=from, to=to, subject=subject, msg=bodyWithAttachment, control=mailControl)