我正在尝试使用 mailR
软件包从R发送邮件,但收到错误消息。
我的代码:
subject <- "Montly Report"
today<-Sys.Date()
fileName <- sprintf('./DailyReports/LaunchDaily_%s.html', format(today, format = "%d-%m-%y"))
body <- "Testing Document"
send.mail(from = from,
to = to,
cc = cc,
bcc = bcc,
subject = subject,
attach.files = fileName,
html = T,
inline = T,
body = body,
smtp = list(host.name = "smtp.gmail.com", port = 465,
user.name = "email id",
passwd = "password", ssl = TRUE),
authenticate = T,
send = T
)
和错误:
Error in .jnew("org.apache.commons.mail.ImageHtmlEmail") :
java.lang.NoClassDefFoundError: javax/activation/DataSource
我也尝试在 google 和 github 中进行搜索,但没有获得有关问题的解决方法。
注意::Link我已经通过链接并尝试了代码,但对我不起作用。
系统操作系统:Ubuntu 18.04, R Studio:1.1.456
答案 0 :(得分:0)
由于Java版本错误而引起的问题。
对于Ubuntu用户,需要安装Oracle Java而不是JDK版本,并且需要正确设置主目录路径。
然后,一定要确保Google帐户设置不那么不安全才能“打开”。
在终端中设置java..type
sudo add-apt-repository ppa:webupd8team/java
sudo apt update; sudo apt install oracle-java8-installer
javac -version
输出
java version "1.8.0_191"
Java(TM) SE Runtime Environment (build 1.8.0_191-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.191-b12, mixed mode)
并使用rJava
在R中像Java路径一样正常测试一次
尝试在库
下运行library(rJava)
library(mailR)
如果两个库都可以正常运行,则 JAVA 正常运行。
成功消息:
在r会话中完成发送邮件后,您将收到如下消息:
[1] "Java-Object{org.apache.commons.mail.ImageHtmlEmail@32709393}"
注意:
尝试在Ubuntu本身中正确安装和设置路径时要小心。
答案 1 :(得分:0)
基本上,您想避免这种依赖性错误。我建议放弃软件包mailR
,而推荐使用emayili
,这不会引起此类问题。