Android 发送邮件消息
用途:发送验证码,通过邮箱找回密码
不需要调用客户端直接使用代码进行发送
本项目使用到的jar包–本文结尾会附带下载链接
- activation.jar
- additionnal.jar
- mail.jar
主Activity代码:
具体页面结构:一个按钮,点击按钮发送邮件到指定的邮箱
按钮的点击事件逻辑
记得链接网络必须在子线程中
/**
* 发送邮件
* 我这里是用的163邮箱发送到QQ邮箱
* 所以设置的MailServerHost为smtp.163.com
* 如果是QQ邮箱进行发送的话为smtp.qq.com
* 端口号请自行查阅是否为25
* 邮箱密码在后面有具体的说明,请看一下
*/
private void sendEmail() {
try {
MailSenderInfo mailInfo = new MailSenderInfo();
mailInfo.setMailServerHost("smtp.163.com");
mailInfo.setMailServerPort("25");
mailInfo.setValidate(true);
mailInfo.setUserName("你的邮箱地址"); //你的邮箱地址
mailInfo.setPassword("您的邮箱密码");//您的邮箱密码
mailInfo.setFromAddress("你的邮箱地址");//和上面username的邮箱地址一致
mailInfo.setToAddress("接收方的邮件地址");
mailInfo.setSubject("邮件主题");
mailInfo.setContent("邮件内容");
//这个类主要来发送邮件
SimpleMailSender sms = new SimpleMailSender();
boolean b = sms.sendTextMail(mailInfo);//发送文体格式,返回是否发送成功的boolean类型
Log.e("MainActivity", "MainActivity sendEmail()"+b);//sms.sendHtmlMail(mailInfo);//发送html格式
} catch (Exception e) {
Log.e("SendMail", e.getMessage(), e);
}
}
关于邮箱密码的说明
由于是android端发送邮件,属于客户端进行发送邮件,所以直接用邮件的登录密码进行发送是不可以的,需要在PC网页端进行设置自己的邮箱:开启POP3/SMTP/IMAP服务
QQ邮箱和163邮箱的设置方法
邮件的实体类代码
public class MailSenderInfo {
// 发送邮件的服务器的IP和