R语言--发送邮件(mailR包)

用R自动发送邮件,在某些工作场合是非常实用的,能极大提高工作效率。本文介绍用R实现自动发送邮件。

在R语言中,用mailR包实现邮件的自动发送,用脚本发邮件,属于第三方邮件发送方式,需要有一个smtp服务器的支持。常见的邮箱,如qq,goole,163等都有smtp服务。

开通smtp服务

本文以网易的163邮箱为例,如下图,在设置中,找到smtp服务,服务器地址可以看到是smtp.163.com,授权码的开通需要发送短信,并且只显示一次,建议自己备份。
在这里插入图片描述

安装包

install.packages("mailR")

发送邮件

在mailR包中,用send.mail函数发送邮件,除了发件人,收件人等常规参数设置外,最重要的参数是smtp,里面包含了smtp服务器的一些参数设置,设置的不对,往往会导致发邮件失败。

# 加载包
library(mailR)
# 收件人邮箱
receiver <- "xxxx@qq.com"
# 发件人邮箱
sender <- "xxxx@163.com"
# 邮件主题
emailSubject <- "send email with R"
# 邮件内容
emailBody <- "Use r to automatically send mail.关注公众号FTDdata."
# 邮件附件
emailFile <- "xx/xx.png"
# 发送邮件
send.mail(from = sender,
          to = receiver,
          subject = emailSubject,
          body = emailBody,
          smtp = list(host.name="smtp.163.com", # smtp 服务器主机名
                      port=465, # 默认端口
                      user.name=sender, # 用户名
                      passwd="xxxx", # 密码(授权码)
                      ssl=TRUE),
          authenticate = TRUE,
          send = TRUE,
          attach.files = emailFile, 
          encoding = "utf-8" # 编码
          )

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值