您的位置:首页 > 移动开发 > Android开发

android 发送邮件

2016-07-26 16:16 323 查看
最近在做项目的时候,需要用到发送邮件的功能,但是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 使用第三方发送邮件的功能完成了!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: