您的位置:首页 > 编程语言 > Java开发

【笔记】Java Mail发送邮件(使用QQ邮箱)

2016-07-31 18:52 447 查看
package cn.it.utils;

import java.util.Properties;

import javax.mail.Authenticator;
import javax.mail.Message;
import javax.mail.Message.RecipientType;
import javax.mail.MessagingException;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.AddressException;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;

public class MailUtil {
/**
* 发送邮件
* @param to  收件人
* @param code  激活码
*/
public static void sendMail(String to,String code){
/**
* 获得session对象
* 创建一个代表邮件的对象Message
* 发送邮件Transport
*
*/
//获取连接信息
Properties props=new Properties();
//设置邮件服务器
props.setProperty("mail.smtp.host", "smtp.qq.com");
//设置邮件服务器端口
props.setProperty("mail.smtp.port", "465");
//开启认证
props.setProperty("mail.smtp.auth", "true");
//开启ssl
props.setProperty("mail.smtp.ssl.enable", "true");

Session session =Session.getInstance(props, new Authenticator() {

@Override
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication("XXXXXX@qq.com", "QQ邮箱授权码");
}
});
//创建邮件对象
Message message = new MimeMessage(session);
try {
//设置发送人
message.setFrom(new InternetAddress("XXXXXXX@qq.com"));
//设置收件人
message.addRecipient(RecipientType.TO, new InternetAddress(to));
//收信人
//Message.RecipientType.TO
//抄送人
//Message.RecipientType.CC
//暗送人
//Message.RecipientType.BCC

//标题
message.setSubject("购物商城测试激活邮件");
//设置邮件内容
message.setContent("<h1>购物商城激活邮件!<br/>点下面链接完成激活操作!</h1><h3><a href='http://192.168.1.1:8080/xxxx/user_active.action?code="+code+"'>http://192.168.1.102:8080/xxxx/user_active.action?code="+code+"</a></h3></h1>", "text/html;charset=UTF-8");
//发送
Transport.send(message);
} catch (AddressException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (MessagingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

}

public static void main(String[] args) {
sendMail("XXXXX@163.com", "1111111111");
System.out.println("成功!.......");
}
}


QQ邮箱需要开启POP3/SMTP服务和生成授权码

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Java-mail发