android 发送邮件

来源:互联网 发布:掌门集团 知乎 编辑:程序博客网 时间:2024/06/03 17:51

最近在做项目的时候,需要用到发送邮件的功能,但是Android 默认的发送邮件不符合要求,界面ui 都是Android 自带的用户体验不是很好,所以需要使用到第三方发送邮件的功能。

1.事先准备

1.1 第三方的jar

这里写图片描述

1.2 发送邮件QQ 的配置

在设置 —> 账户 里面配置修改
这里写图片描述

注意:邮件是可以 自己发送给自己的。smtp 服务是需要开启的。


2.相关代码

import javax.mail.Message;import javax.mail.MessagingException;import javax.mail.Session;import javax.mail.Transport;import javax.mail.internet.InternetAddress;import javax.mail.internet.MimeMessage;import java.util.Properties;/** * lh on 2016/6/1. * javaMail 发送邮件 */public class MailUtil{    private Properties config;    public MailUtil() {        config = new Properties();        config.put("mail.host","smtp.qq.com");        config.put("mail.transport.protocol","smtps");        config.put("mail.smtp.auth","true");        config.put("account","xxxx@qq.com");        config.put("password","xxxx");    }    public void send(String content) throws MessagingException {        Session session = Session.getInstance(config);        Message message = new MimeMessage(session);        //邮件发送者        message.setFrom(new InternetAddress("xxxx@qq.com"));        //邮件接受的账户        message.setRecipients(Message.RecipientType.TO, new InternetAddress[]{new InternetAddress("xxxxx@qq.com")});        message.setRecipients(Message.RecipientType.CC, new InternetAddress[]{});        message.setRecipients(Message.RecipientType.BCC, new InternetAddress[]{});        message.setSubject("xxxx");        message.setContent(content, "text/html;charset=utf-8");        Transport transport = session.getTransport();        transport.connect(config.getProperty("account"), config.getProperty("password"));        transport.sendMessage(message, message.getAllRecipients());        transport.close();    }}

注意 : 上述代码需要不能在主线程里面调用;

这里写图片描述

这里写图片描述


至此:Android 使用第三方发送邮件的功能完成了!

1 0