美文网首页R数据科学
R语言--发送邮件(mailR包)

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

作者: FTDdata | 来源:发表于2021-03-25 13:56 被阅读0次

    用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" # 编码
              )
    

    相关文章

      网友评论

        本文标题:R语言--发送邮件(mailR包)

        本文链接:https://www.haomeiwen.com/subject/lcnlhltx.html