本项目以JavaMail类库为基础进行封装的框架,比JavaMail简单易用,在使用它开发电子邮件客户端时,还能避免对电子邮件协议不熟悉的烦恼。目前支持的电子邮件协议有SMTP和IMAP,它支持的功能有发送邮件,下载附件、获取文件夹列表、读取邮件、加载邮件、同步邮件,对邮件消息的移动,删除,保存到草稿箱等操作,同时支持邮箱的新邮件消息推送(需要邮件服务器支持相关命令),邮件搜索等功能。把它依赖到你的Android项目中,你只需简单配置邮件服务器的参数,再使用这些简易的接口,即可完成你所需的功能,所见即所得。
效果图
完成邮件服务器配置、发送邮件、加载邮件、同步邮件、查看邮件、下载附件。
安装引入
步骤一、将JitPack存储库添加到根目录的build.gradle中:
allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
}
}
步骤二、在项目的app模块下的build.gradle里加:
dependencies {
implementation 'com.github.mailhu:emailkit:4.2.1'
}
注:因为该库内部使用了Java 8新特性,可能你的项目依赖该框架在构建时出现如下错误:
Invoke-customs are only supported starting with Android O (--min-api 26)
你可以在项目的app模块下的build.gradle里加添如下代码:
android {
...
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}
简单示例
以下代码是展示如何发送一封简单的电子邮件。若想了解框架的更多功能,请查阅Wiki文档。
//初始化
EmailKit.initialize(this);
//配置邮件服务器参数
EmailKit.Config config = new EmailKit.Config()
.setMailType(EmailKit.MailType.FOXMAIL) //选择邮箱类型,快速配置服务器参数
.setAccount("[email protected]") //发件人邮箱
.setPassword("password"); //密码或授权码
//设置草稿邮件
Draft draft = new Draft()
.setNickname("小学生") //发件人昵称
.setTo("[email protected]") //收件人邮箱
.setSubject("这是一封测试邮件") //邮件主题
.setText("Hello world !"); //邮件正文
//使用SMTP服务发送邮件
EmailKit.useSMTPService(config)
.send(draft, new EmailKit.GetSendCallback() {
@Override
public void onSuccess() {
Log.i(TAG, "发送成功!");
}
@Override
public void onFailure(String errMsg) {
Log.i(TAG, "发送失败,错误:" + errMsg);
}
});
混淆
-dontwarn com.sun.**
-dontwarn javax.mail.**
-dontwarn javax.activation.**
-keep class com.sun.** { *;}
-keep class javax.mail.** { *;}
-keep class javax.activation.** { *;}
-keep class com.smailnet.emailkit.** { *;}
致谢
示例程序中所用到的开源库、框架和图像资源,在此致谢!
- LitePal
- MicroKV
- SmartRefreshLayout
- BaseRecyclerViewAdapterHelper
- Iconfont
本文隐藏内容 登陆 后才可以浏览
γ
