對于用R來進行數據分析的伙伴們,難免會需要運行一些定時任務,那么定時任務怎么呈現出來呢?特別是對于一些數據報告,個人認為郵件是個不錯的選擇。
目前接觸到的用于發送郵件的R包有mailR,sendmailR。本文主要詳細講述使用mailR自動發送郵件,感興趣的小伙伴也可使用sendmailR。
安裝包、查看幫助文檔
- 首先是安裝mailR包:
install.packages('mailR')
- 然后第二部肯定是要查看一下我們萬能的幫助文檔啦
help(package = 'mailR')
安裝了Rstudio的小伙伴也可以直接右側搜索幫助文檔即可,好了,說的啰嗦了。
send.mail(from, to, subject = "", body = "", encoding = "iso-8859-1",html =
FALSE, inline = FALSE, smtp = list(), authenticate = FALSE,send = TRUE,
attach.files = NULL, debug = FALSE, ...)
主要參數:
- from 發件人的有效電子郵件地址。
- to 收件人電子郵件地址向量。
- subject 郵件主題
- body 正文
- encoding 編碼
- html 布爾值,指示電子郵件的正文是否應該解析為HTML。
- inline 一個布爾值,指示HTML文件中的圖像是否應該嵌入內聯。
- smtp 建立和授權與SMTP服務器的連接的配置參數列表
- authenticate 一個布爾變量,用于指示是否需要連接SMTP服務器。
- send 一個布爾值,指示郵件是否應該在函數的結尾發送(默認行為)。如果設置為false,函數將電子郵件對象返回給父環境。
- attach.files 文件系統中連接到文件或*有效URL的路徑中的字符向量
- debug 表示希望查看詳細調試信息的布爾值。
編寫代碼,發送一個簡單的郵件
library(mailR)
body = "this is a test" # 正文
recipients <- c("123456@qq.com", "987654@163.com") # 收件人
sender = "123456@qq.com" # 發件人
title = "this is title" # 主題
send.mail(from = sender, to = recipients, subject = title, body = html,
encoding = "utf-8", smtp = list( host.name = "smtp.qq.com",
port = 587,user.name = sender, passwd = "code", ssl = TRUE ),
authenticate = TRUE, send= TRUE)
好了,就是這么簡單。