Java 如何在Android上使用Mailgun发送HTML电子邮件<;5

Java 如何在Android上使用Mailgun发送HTML电子邮件<;5,java,android,mailgun,Java,Android,Mailgun,我正在尝试将Mailgun集成到我的Android应用程序中,但我遇到了很多问题,我想知道是否有人在Android上成功使用Mailgun可以提供一些帮助。我能够按照Mailgun用户手册()发送纯文本电子邮件,但前提是设备的Android版本至少是棒棒糖。任何Android版本较低的设备,我都会收到许多关于缺少XML相关类的错误,这些错误我无法解决,因为我无法导入javax.*类。当我尝试使用用户指南中概述的代码发送HTML电子邮件时,也会发生同样的情况 日志中接收到的错误示例: The pr

我正在尝试将Mailgun集成到我的Android应用程序中,但我遇到了很多问题,我想知道是否有人在Android上成功使用Mailgun可以提供一些帮助。我能够按照Mailgun用户手册()发送纯文本电子邮件,但前提是设备的Android版本至少是棒棒糖。任何Android版本较低的设备,我都会收到许多关于缺少XML相关类的错误,这些错误我无法解决,因为我无法导入
javax.*
类。当我尝试使用用户指南中概述的代码发送HTML电子邮件时,也会发生同样的情况

日志中接收到的错误示例:

The provider class, class com.sun.jersey.core.impl.provider.entity.XMLListElementProvider$App, could not be instantiated.
Processing will continue but the class will not be utilized
java.lang.TypeNotPresentException: Type javax.xml.stream.XMLInputFactory not present 

The provider class, class com.sun.jersey.core.impl.provider.entity.XMLListElementProvider$Text, could not be instantiated.
Processing will continue but the class will not be utilized                                                            
java.lang.TypeNotPresentException: Type javax.xml.stream.XMLInputFactory not present

The provider class, class com.sun.jersey.core.impl.provider.entity.XMLListElementProvider$General, could not be instantiated.
Processing will continue but the class will not be utilized                                                             
java.lang.TypeNotPresentException: Type javax.xml.stream.XMLInputFactory not present

因此,我想知道谁遇到了这些问题(在Android设备<5.0上使用Mailgun和/或发送HTML电子邮件)并且能够解决这些问题,是否可以给我一些建议。谢谢

当您指向官方的Mailgun文档时,我假设您正在使用Jersey 1.x库作为JAX-RS客户端

我建议你试试2.x分支。看一看

此外,您不需要使用球衣。任何REST客户端都可以。在中,您有其他选择和更多信息

现在,我来看看你的问题。任何JAX-RS库都使用提供者来处理不同的事情,包括处理内容(实体)。您的问题似乎是默认的XML实体提供程序使用JAXB或JAXP(那些
javax.XML
classes),这在您的类路径中不可用。但是实际上,当前的文档解释了这一点。它甚至被编译为依赖项

<dependency>
    <groupId>org.glassfish.jersey.media</groupId>
    <artifactId>jersey-media-moxy</artifactId>
    <version>2.23.2</version>
</dependency>

org.glassfish.jersey.media
泽西媒体公司
2.23.2

当您指向官方的Mailgun文档时,我假设您正在使用Jersey 1.x库作为JAX-RS客户端

我建议你试试2.x分支。看一看

此外,您不需要使用球衣。任何REST客户端都可以。在中,您有其他选择和更多信息

现在,我来看看你的问题。任何JAX-RS库都使用提供者来处理不同的事情,包括处理内容(实体)。您的问题似乎是默认的XML实体提供程序使用JAXB或JAXP(那些
javax.XML
classes),这在您的类路径中不可用。但是实际上,当前的文档解释了这一点。它甚至被编译为依赖项

<dependency>
    <groupId>org.glassfish.jersey.media</groupId>
    <artifactId>jersey-media-moxy</artifactId>
    <version>2.23.2</version>
</dependency>

org.glassfish.jersey.media
泽西媒体公司
2.23.2
您可以直接使用

此外,您还需要将“配置”添加到gradle文件中,它应该如下所示:

dependencies {
   compile fileTree(dir: 'libs', include: ['*.jar'])
   compile 'net.sargue:mailgun:1.3.2'
}

configurations {
   compile.exclude group: 'javax.inject', module: 'javax.inject'
}
更多信息

您可以直接使用

此外,您还需要将“配置”添加到gradle文件中,它应该如下所示:

dependencies {
   compile fileTree(dir: 'libs', include: ['*.jar'])
   compile 'net.sargue:mailgun:1.3.2'
}

configurations {
   compile.exclude group: 'javax.inject', module: 'javax.inject'
}

更多信息

“我收到许多关于缺少XML相关类的错误”--您可能希望编辑您的问题并提供缺少的详细信息。“我收到许多关于缺少XML相关类的错误”--您可能希望编辑您的问题,并提供缺少的详细信息。我从来没有想到我可以使用其他REST客户端哈哈。。。决定进行改造,这很有魅力。我从来没有想到我可以使用其他REST客户哈哈。。。决定进行改造,效果很好。