在android中使用标准的javamail类库时,会报NoClassDefFoundError之类的错误,根源主要是android is not java,标准javamail中使用的部分sun.*等类库在android运行环境中是没有的。
网友们提供的解决办法就是使用
https://code.google.com/p/javamail-android这个项目,它替换了标准实现里面依赖的一些类库。当然,你也还可以参考一下
https://github.com/ruiaraujo/javamail_android这个项目。
不过我比较有空,又爱折腾,最后是自己到kenai.com找了javamail 1.5的源码,各种折腾一番之后重新打包一番再使用。
注意啦,使用的过程,如果有multipart messages的问题,还需要自己做些兼容(把它写在static方法里面运行一次就好了):
MailcapCommandMap mc = (MailcapCommandMap) CommandMap.getDefaultCommandMap();
mc.addMailcap("text/html;; x-java-content-handler=com.sun.mail.handlers.text_html");
mc.addMailcap("text/xml;; x-java-content-handler=com.sun.mail.handlers.text_xml");
mc.addMailcap("text/plain;; x-java-content-handler=com.sun.mail.handlers.text_plain");
mc.addMailcap("multipart/*;; x-java-content-handler=com.sun.mail.handlers.multipart_mixed");
mc.addMailcap("image/gif;; x-java-content-handler=com.sun.mail.handlers.image_gif");
mc.addMailcap("image/jpeg;; x-java-content-handler=com.sun.mail.handlers.image_jpeg");
mc.addMailcap("image/png;; x-java-content-handler=com.sun.mail.handlers.image_png");
CommandMap.setDefaultCommandMap(mc);
完毕。
发布在:
http://auzll.iteye.com
分享到:
相关推荐
在Android中使用JavaMail,我们需要以下几个关键步骤: 1. 获取必要的库文件: 首先,你需要从http://code.google.com/p/javamail-android/下载`additionnal.jar`、`mail.jar`和`activation.jar`这三个库文件。...
在这个案例中,"LouisJavaMail-master"是一个项目仓库,包含了使用JavaMail在Android上发送邮件的示例代码。 首先,我们来理解JavaMail的基本原理。JavaMail API主要依赖于 javax.mail 和 javax.mail.internet 这两...
本资源提供的"Android使用JavaMail开发邮箱最新jar包集合"包含了开发过程中所需的最新版本(1.6.0)的核心组件。 JavaMail API主要包括以下几个关键模块: 1. **javax.mail**:这是JavaMail的核心包,包含了发送和...
本篇文章将深入探讨在Android中使用JavaMail后台发送邮件时可能会遇到的问题以及解决方案。 首先,我们需要在Android项目中添加JavaMail的依赖。由于Android系统安全限制,不能直接使用JavaMail的标准库,而是需要...
本教程将介绍如何在Android Studio项目中使用`javamail`库,以及如何处理`activation.jar`和`additionnal.jar`这两个必要的依赖。 首先,让我们了解`javamail`库的核心组件: 1. **mail.jar**:这是JavaMail的主要...
在Android中使用JavaMail发送邮件时,首先需要创建一个`Properties`对象来设置SMTP服务器的相关信息,如主机名、端口号、用户名和密码。然后,创建`Session`对象,并使用`Properties`初始化。接着,创建`Message`...
总的来说,这个标题和描述提供了一个关于在Android环境中成功使用JavaMail的提示,强调了特定的JAR包组合可以解决Android平台上的兼容性问题。通过理解这些JAR文件的作用以及如何将它们集成到Android项目中,开发者...
本篇文章将详细介绍如何使用JavaMail API在Android中发送带有附件并进行群发的电子邮件。首先,我们需要理解JavaMail API的工作原理以及如何将其集成到Android项目中。 1. **集成JavaMail库** 在Android项目中,...
使用 JavaMail 库可以轻松地在 Java 应用程序中发送电子邮件。JavaMail 是一个 Java API,用于在 Java 应用程序中发送和接收电子邮件。它提供了一个抽象层,允许开发者使用不同的电子邮件协议,例如 SMTP、POP3 和 ...
本文将基于一个具体的JavaMail示例代码,探讨在使用JavaMail过程中常见的问题及其解决方案。 #### 一、连接问题 在JavaMail示例代码中,首先设置了邮件服务器的信息,例如: ```java String host = "smtp.163....
"Linux服务器报警—使用javamail"这个主题就涉及到了如何利用JavaMail API在Linux环境中实现自动发送邮件报警的功能。JavaMail是一个开源库,它允许开发者在Java应用中添加电子邮件功能,包括发送和接收邮件。 首先...
在Android系统中使用JavaMail,我们需要首先添加相应的依赖库到项目中。这通常通过在build.gradle文件中引入依赖来完成,例如: ```groovy dependencies { implementation 'com.sun.mail:android-mail:1.6.5' ...
本文将深入探讨如何在Android应用中使用JavaMail API,特别是通过SMTP(Simple Mail Transfer Protocol)来发送邮件。 首先,我们需要理解JavaMail API的工作原理。JavaMail API是一个用于访问邮件服务器的标准Java...
在Android Studio中使用JavaMail API,你需要做以下几步: 1. **导入JAR文件**:将这三个JAR文件添加到项目的`libs`目录,然后在项目构建配置中将其添加为依赖项。对于Android Studio,可以右键点击项目 -> 引用库...
#### 在Android环境中使用JavaMail **步骤1:准备JavaMail相关库** 由于Android SDK默认未包含JavaMail库,因此需要手动添加。具体做法如下: 1. 访往http://code.google.com/p/javamail-android/,下载`...
14. **日志记录**: JavaMail 支持日志记录框架如 Log4j 或 java.util.logging,方便调试和监控。 使用 JavaMail API 的时候,开发人员需要正确配置 `Properties` 对象,指定邮件服务器的相关参数,然后创建并初始化...