无法使用mailR包发送电子邮件

时间:2018-04-25 07:15:44

标签: java r apache ubuntu

我收到下面提到的错误。我将mail.jar,activation.jar,mailapi.jar,common-lang3.jar复制到/ usr / lib / jvm / java-8-openjdk-amd64 / jre / lib / ext

java.lang.NoClassDefFoundError: javax/activation/DataHandler
    at org.apache.commons.mail.Email.createMimeMessage(Email.java:1832)
    at org.apache.commons.mail.Email.buildMimeMessage(Email.java:1268)
    at org.apache.commons.mail.Email.send(Email.java:1436)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.base/java.lang.reflect.Method.invoke(Method.java:564)
    at RJavaTools.invokeMethod(RJavaTools.java:386)
Caused by: java.lang.ClassNotFoundException
    at RJavaClassLoader.findClass(RJavaClassLoader.java:383)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:566)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:499)
    ... 8 more
NULL
Error: NoClassDefFoundError (Java): javax/activation/DataHandler

3 个答案:

答案 0 :(得分:2)

这是github上讨论得很好且迄今尚未解决的问题。 https://github.com/rpremraj/mailR/issues/77

答案 1 :(得分:2)

Vince Fulco提供的链接中的注释之一可在Ubuntu 18.04中使用: https://github.com/rpremraj/mailR/issues/77#issuecomment-465741847

特别是:

  1. 下载以下.jar文件:

  2. 找出java-mailR文件夹:system.file(“ java”,package =“ mailR”)

    • 在我的情况下:“ / home / MY_USERNAME / R / x86_64-pc-linux-gnu-library / 3.5 / mailR / java”
  3. 将两个.jar文件复制到该文件夹​​中

以防万一,在尝试之前,我重新启动了计算机。

答案 2 :(得分:1)

检查SMTP的身份验证凭据。此错误是由于身份验证详细信息失败而导致的。