R语言:亲,你有一封邮件待查收

浏览: 1659

作者:数据取经团 - 祥子

前言

自动化操作,定时来执行任务,替代人力不可为或很麻烦的事情。在很多互联网公司,自动化已经是很常见的。对于个人而言,我们也可以有自动化操作的,本文将介绍在windows下实现R语言自动执行发邮件的任务。是不是有新奇感,那就跟着小编来往下看。

image.png

自动化操作?是不是要编写代码什么的鬼,我是文科生,没学过编程,更是看不懂R语言,这门槛太高,好像我们没法使用了?哈哈,放心,它很简单,你需要按照我们的文章步骤来操作,一步步的设置好,就可以完成设置啦,然后把我们代码按照提示稍作修改,你可以用它来发送你的日常邮件。试试看,是否感觉到很神奇,那就跟着我们的步骤来操作一遍。你也是大牛一枚。

配置


步骤如下

  • 1、环境变量设置

    设置JAVA虚拟机环境。这里需要安装java软件,http://rj.baidu.com/soft/detail/14459.html?ald,下载好,直接点击下一步,不要修改安装目录。点击桌面电脑,右键,系统属性,找到高级系统设置,进入环境变量,在系统变量中添加JAVA_HOME,具体操作可百度一下,网上有很多详细的文章描述。当然,若是有疑问,也建议留言喔。还有,这里的java安装成功与否对后面有很大的影响的。

  • 2、R语言软件安装

    哈哈,用R语言发送邮件,当然需要安装R语言软件啦。https://mirrors.tuna.tsinghua.edu.cn/CRAN/,进入网站,直接点击下载R语言啦,快去试试,小编从不骗人。

  • 3、R包之Rmail下载

    用到的包: Rmail ,通过install.packages(“Rmail”)

  • 4、最后一步:发邮件

      来啦,很重要的一步,发送邮件环节,先贴上代码。

    


library(mailR)

send.mail(

from = (''), # 发送邮箱

to = c(''),   # 接收邮箱

cc = c(""), #抄送

subject = 'this is test',  # 主题

body = 'hello world',  # 正文

encoding = 'utf-8',

html = TRUE,

smtp = list(

host.name = 'smtp.exmail.qq.com',  # 发送的服务器

port = 465,  # 端口号

user.name = '',  # 发送邮箱

passwd = 'Mya4mFd85waaBNmf', # 授权码

ssl = TRUE,

tls = TRUE),

authenticate = TRUE,

send = TRUE,

#attach.files = "C:\\Users\\zzzzzz\\Desktop\\提数的代码.txt",  # 附件

#file.names = c("文件名"),  # 文件名

#file.descriptions = c("文件描述"),

debug = FALSE  # 测试

)


咦,好几处注释,都快看不懂了,赶快来解释下。小编觉得,有三处需要说明下。

  1. 发送服务器    这个要根据你的使用的邮箱发送服务器来设置了。例子中以腾讯企业邮箱为例的。

  2. 端口号   常用的邮箱的端口号可以查到的。对于特征的端口号,需要咨询你所在公司的运维了

  3. 授权码    对,这个很重要。以smtp作为发送邮件服务的,是可以拿到授权码的。以腾讯企业号获取授权码为例子说明。

以腾讯企业号获取授权码为例子说明。

image.png

注意事项

将最后的授权码贴到passwd位置。这样就拿到授权码了。小编反复实验,觉得有以下几点是需要注意的:

  1. 你所在的公司是否关闭了465端口,若是关闭了,那是没法发送的;

  2. JAVA配置是否成功了;

  3. 在Rstudio中使用的R是否与windows的型号一致,如都为32位或64位。小编使用中发现的问题:


Error : .onLoad failed in loadNamespace() for 'rJava', details:

call: inDL(x, as.logical(local), as.logical(now), ...)

error: unable to load shared object 'e:/Program Files/R/R-3.1.1/library/rJava/libs/i386/rJava.dll':

LoadLibrary failure:  ?????????

In addition: Warning message:

package ‘rJava’ was built under R version 3.4.1

Errorpackage or namespace load failed for ‘rJava


正确的姿势为将Rstudio中R设置为32位。

我能用它干嘛呢?不是说了嘛,发邮件,可还是没想到它有啥优势?咦,发周报就是需求唷。别告诉别人。

推荐 1
本文由 数据取经团 创作,采用 知识共享署名-相同方式共享 3.0 中国大陆许可协议 进行许可。
转载、引用前需联系作者,并署名作者且注明文章出处。
本站文章版权归原作者及原出处所有 。内容为作者个人观点, 并不代表本站赞同其观点和对其真实性负责。本站是一个个人学习交流的平台,并不用于任何商业目的,如果有任何问题,请及时联系我们,我们将根据著作权人的要求,立即更正或者删除有关内容。本站拥有对此声明的最终解释权。

0 个评论

要回复文章请先登录注册