使用 mailR 包从 R 发送邮件时出现错误
Sending a mail from R using mailR package getting the error
我正在尝试使用 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我已经阅读了Link并尝试了代码,但对我不起作用。
系统OS:Ubuntu18.04,
R 工作室:1.1.456
由于 Java 版本错误不匹配而引发问题。
对于 Ubuntu 用户需要安装 Oracle Java 而不是 JDK 版本并且需要正确设置主路径。
然后 google 帐户设置肯定需要低于 'turn ON'。
设置java..在终端中输入
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)
并在 R 中测试一次,例如 java 路径在 rJava
下是否正常工作
尝试 运行 下面的 库
library(rJava)
library(mailR)
如果两个库 运行 没有任何错误,那么 JAVA 可以正常工作。
成功消息:
在 r 会话中发送邮件完成后,您将收到如下消息:
[1] "Java-Object{org.apache.commons.mail.ImageHtmlEmail@32709393}"
注意:
在 Ubuntu 本身正确安装和设置路径时要小心。
基本上,您想避免那种依赖性错误。我建议放弃 tha 包 mailR
以支持 emayili
,这不会导致那种问题。
javax.activation
(Java 激活框架 (JAF))已从 Java9 中的核心 JRE 包中删除。sendR
库是针对 Java 8. 您很可能正在使用没有 JAF 的 Java 的较新版本。
三个选项:
第三个是我的推荐。
我正在尝试使用 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我已经阅读了Link并尝试了代码,但对我不起作用。
系统OS:Ubuntu18.04, R 工作室:1.1.456
由于 Java 版本错误不匹配而引发问题。
对于 Ubuntu 用户需要安装 Oracle Java 而不是 JDK 版本并且需要正确设置主路径。
然后 google 帐户设置肯定需要低于 'turn ON'。
设置java..在终端中输入
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)
并在 R 中测试一次,例如 java 路径在 rJava
尝试 运行 下面的 库
library(rJava)
library(mailR)
如果两个库 运行 没有任何错误,那么 JAVA 可以正常工作。
成功消息:
在 r 会话中发送邮件完成后,您将收到如下消息:
[1] "Java-Object{org.apache.commons.mail.ImageHtmlEmail@32709393}"
注意:
在 Ubuntu 本身正确安装和设置路径时要小心。
基本上,您想避免那种依赖性错误。我建议放弃 tha 包 mailR
以支持 emayili
,这不会导致那种问题。
javax.activation
(Java 激活框架 (JAF))已从 Java9 中的核心 JRE 包中删除。sendR
库是针对 Java 8. 您很可能正在使用没有 JAF 的 Java 的较新版本。
三个选项:
第三个是我的推荐。