参考自超简单的Android邮件开源库
这里使用以上博客的大佬的开源库Email
集成步骤:
步骤一,将JitPack存储库添加到根目录的build.gradle中:
allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
}
}
步骤二,在项目的app模块下的build.gradle里加:
dependencies {
implementation 'com.github.mailhu:email:2.4.0'
}
同时记得在Android项目中的AndroidManifest.xml文件中添加联网权限。
<uses-permission android:name="android.permission.INTERNET"/>
使用
在使用该库前先简单介绍一下 Email for Android 2.4.0 中四个核心的类和相关的方法。
EmailConfig 类
setAccount( ):设置发信人的邮箱(必写)
setPassword( ) :设置发信人的邮箱密码或授权码(必写)
setSmtpHost( ):设置SMTP服务器地址(发送邮件时必写)
setSmtpPort( ):设置SMTP服务器端口(发送邮件时必写)
setPopHost( ):设置POP服务器地址(接收邮件时必写)
setPopPort( ):设置POP服务器端口(接收邮件时必写)
setImapHost:设置IMAP服务器地址(接收邮件时必写)
setImapPort:设置IMAP服务器端口(接收邮件时必写)
EmailSendClient 类
setTo( ):设置收信人邮箱(必写)
setCc( ):设置抄送人
setBcc( ):设置密送人
setNickname( ):设置发信人昵称
setSubject( ):设置邮件主题(必写)
setText( ):设置文本型的邮件内容(必写,但 setText( ) 和 setContent( ) 只能二选一)
setContent( ):设置HTML型的邮件内容(同上)
sendAsyn( ):异步发送邮件(必写)
EmailReceiveClient 类
popReceiveAsyn( ):使用POP3协议异步接收邮件
imapReceiveAsyn( ):使用IMAP协议异步接收邮件
EmailExamine 类
connectServer( ):检查邮件服务器配置的方法
以下是本人用这个开源库写的通过163邮箱发送邮件的demo方法
private void sendEmail(){
//配置邮件服务器
EmailConfig config = new EmailConfig()
.setSmtpHost("smtp.163.com") //设置发件服务器地址
.setSmtpPort(465) //设置发件163邮箱服务器端口465/994
.setAccount("xxx@163.com") //你的邮箱地址
.setPassword("(授权码)"); //你的邮箱密码或授权码
//邮件发送,确保配置emailConfig的信息正确
EmailSendClient emailSendClient = new EmailSendClient(config);
emailSendClient
.setTo("xxx@qq.com") //收件人的邮箱地址
.setNickname("大神") //设置发信人的昵称
.setSubject("大神的验证码") //邮件主题
.setText("您收到的大神验证码为:\n" + "Isd1088" + "\n" + "此验证码区分大小写,请您注意!") //邮件正文,若是发送HTML类型的正文用setContent()
.sendAsyn(this, new GetSendCallback() {
@Override
public void sendSuccess() {
Toast.makeText(MainActivity.this, "发送成功", Toast.LENGTH_SHORT).show();
}
@Override
public void sendFailure(String errorMsg) {
Log.e("123", "sendFailure:=="+errorMsg );
Toast.makeText(MainActivity.this, "发送失败 " + errorMsg , Toast.LENGTH_SHORT).show();
}
});
}