Android Javamail接收电子邮件

Android Javamail接收电子邮件,android,jar,jakarta-mail,Android,Jar,Jakarta Mail,我使用JavaMail在Android中接收电子邮件 问题是: Message.getContent()始终返回SharedByteArrayInputStream。 及 Bodypart.getContent()始终返回BASE64DecoderStream或qrdcoderstream 我读了JavaMail的FAQ,它说: Q:读取多部分消息时,为什么getContent方法返回IMAPInputStream(或SharedByteArrayInputStream)而不是MimeMulti

我使用JavaMail在Android中接收电子邮件

问题是:
Message.getContent()
始终返回
SharedByteArrayInputStream
。 及

Bodypart.getContent()
始终返回
BASE64DecoderStream
qrdcoderstream

我读了JavaMail的FAQ,它说:

Q:读取多部分消息时,为什么getContent方法返回
IMAPInputStream(或SharedByteArrayInputStream)
而不是
MimeMultipart对象?

A:这通常是因为JavaBeans激活框架(JAF)找不到mail.jar文件中包含的mailcap配置文件。JAF使用线程的上下文类加载器查找配置文件。如果上下文类加载器设置不正确,则可能会失败。大多数应用服务器都应该正确设置上下文类加载器,但至少有一些Tomcat版本没有这样做。一种解决方法是将mail.jar文件放在Tomcat的lib目录中,而不是将其包含在war文件中。另一种解决方法是在应用程序的开头添加如下代码:

Thread.currentThread().setContextClassLoader(this.getClass().getClassLoader());

但我不知道如何在Android中解决这个问题。有人能帮我吗?

我想你用错jar文件了


更多信息,请关注

非常感谢。我确实使用了错误的jar文件,即oracle JavaMail。