andorid后台发送邮件(无需调起邮件app)

本文介绍如何使用EmailforAndroid 2.4.0库进行邮件发送和接收,包括集成步骤、关键类及方法说明,并提供了一个使用163邮箱发送邮件的demo示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

参考自超简单的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();
                    }
                });
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值