Вот пример, который настроен для ежедневной пакетной работы, такой как настройка с использованием sendmail () в R (доступно с пакетом sendmailR) с несколькими вложениями (один CSV, один PDF):
Настройка информации о датедля ссылки в именах файлов:
> 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)