/**
* 发送邮件
*
* @param email 邮件地址
* @param title 邮件标题
* @param content 邮件正文
* @param nickName
* 发件人显示昵称
*/
public void sendMail(String email, String title, String content, String nickName) {
try {
// 建立邮件会话
Properties props = new Properties();
// 存储发送邮件服务器的信息
props.put("mail.smtp.host", mailServer);
// 同时通过验证
props.put("mail.smtp.auth", "true");
// 根据属性新建一个邮件会话
Session mailSession = Session.getInstance(props);
// 由邮件会话新建一个消息对象
MimeMessage message = new MimeMessage(mailSession);
// 设置邮件
String nick = javax.mail.internet.MimeUtility.encodeText(nickName);
// 设置发件人的地址
message.setFrom(new InternetAddress(nick + "<" + mailUserName + ">"));
// 设置收件人,并设置其接收类型为TO
InternetAddress to = new InternetAddress(email);
message.setRecipient(Message.RecipientType.TO, to);
// 设置标题
message.setSubject(title);
// 设置信件内容
Multipart mp = new MimeMultipart();
MimeBodyPart mbp1 = new MimeBodyPart();
// 设置内容
mbp1.setText(content);
mp.addBodyPart(mbp1);
// 设置附件
message.setContent(mp, "text/html;charset=UTF-8");
// 设置发信时间
message.setSentDate(new Date());
// 存储邮件信息
message.saveChanges();
// 发送邮件
Transport transport = mailSession.getTransport("smtp");
// 以smtp方式登录邮箱,第一个参数是发送邮件用的邮件服务器SMTP地址,第二个参数为用户名,第三个参数为密码
transport.connect(mailServer, mailUserName, mailUserPwd);
// 发送邮件,其中第二个参数是所有已设好的收件人地址
transport.sendMessage(message, message.getAllRecipients());
}
catch (Exception e) {
logger.error("给" + email + "发送邮件异常", e);
e.printStackTrace();
}
}