//贴上工具类,直接复制使用即可
package com.oceansoft.swl.utils;
import java.util.Calendar;
import java.util.Properties;
import javax.mail.Message.RecipientType;
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 com.oceansoft.swl.common.domain.YeEmail;
/**
* 发送邮箱验证以及通知的工具类
* @author LZJ
* http://www.2cto.com/kf/201312/268157.html
* http://www.cnblogs.com/xdp-gacl/p/4216311.html
* 2015-9-9下午5:20:12
*/
public class YeEmailUtil {
/**
* 1.发送邮箱通知--邮件通知
* @author LZJ
* 2015年9月9日17:34:03
*/
public static void sendEmail(YeEmail yeEmail) throws Exception{
Properties prop = new Properties();
// prop.setProperty("mail.host", "smtp.sohu.com");
// prop.setProperty("mail.host", "smtp.exmail.qq.com");
prop.setProperty("mail.host", "smtp.163.com");
prop.setProperty("mail.transport.protocol", "smtp");
prop.setProperty("mail.smtp.auth", "true");
//使用JavaMail发送邮件的5个步骤
//1、创建session
Session session = Session.getInstance(prop);
//开启Session的debug模式,这样就可以查看到程序发送Email的运行状态
session.setDebug(true);
//2、通过session得到transport对象
Transport ts = session.getTransport();
//3、使用邮箱的用户名和密码连上邮件服务器,发送邮件时,发件人需要提交邮箱的用户名和密码给smtp服务器,用户名和密码都通过验证之后才能够正常发送邮件给收件人。
ts.connect("smtp.exmail.qq.com", "[email protected]", "xxxxx");
//4、创建邮件
Message message = createSimpleMail(session,yeEmail);
//5、发送邮件
ts.sendMessage(message, message.getAllRecipients());
ts.close();
}
/**
* 测试代码
* @param args
* @throws Exception
*/
public static void main(String[] args) throws Exception {
YeEmail yeEmail = null;
Properties prop = new Properties();
// prop.setProperty("mail.host", "smtp.sohu.com");
// prop.setProperty("mail.host", "smtp.exmail.qq.com");
prop.setProperty("mail.host", "smtp.163.com");
prop.setProperty("mail.transport.protocol", "smtp");
prop.setProperty("mail.smtp.auth", "true");
//使用JavaMail发送邮件的5个步骤
//1、创建session
Session session = Session.getInstance(prop);
//开启Session的debug模式,这样就可以查看到程序发送Email的运行状态
session.setDebug(true);
//2、通过session得到transport对象
Transport ts = session.getTransport();
//3、使用邮箱的用户名和密码连上邮件服务器,发送邮件时,发件人需要提交邮箱的用户名和密码给smtp服务器,用户名和密码都通过验证之后才能够正常发送邮件给收件人。
ts.connect("smtp.exmail.qq.com", "[email protected]", "xxxxxxx");
//4、创建邮件
Message message = createSimpleMail(session,yeEmail);
//5、发送邮件
ts.sendMessage(message, message.getAllRecipients());
ts.close();
}
/**
*/
public static MimeMessage createSimpleMail(Session session,YeEmail yeEmail)
throws Exception {
//创建邮件对象
MimeMessage message = new MimeMessage(session);
//指明邮件的发件人
// message.setFrom(new InternetAddress("[email protected]"));
message.setFrom(new InternetAddress(yeEmail.getSender()));
//指明邮件的收件人,现在发件人和收件人是一样的,那就是自己给自己发
// message.setRecipient(Message.RecipientType.TO, new InternetAddress("[email protected]"));
message.setRecipient(Message.RecipientType.TO,
new InternetAddress(yeEmail.getReceiver()));
//邮件的标题
// message.setSubject("只包含文本的简单邮件");
message.setSubject(yeEmail.getTitle());
//邮件的文本内容
// message.setContent("只包含文本的简单邮件", "text/html;charset=UTF-8");
message.setContent(yeEmail.getContent(), "text/html;charset=UTF-8");
//返回创建好的邮件对象
return message;
}
}