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服务和生成授权码