Javamail 工具类

来源:互联网 发布:2018网络剧上映时间表 编辑:程序博客网 时间:2024/06/07 16:22
package com.eaju.utils.common;


import java.security.Security;
import java.util.Date;
import java.util.Properties;


import javax.mail.Authenticator;
import javax.mail.Message;
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;


import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;


/**

 * 邮件工具类

* 支持多收件人

 * @author kcm
 *
 */
public class MailUtils {
private static Log log = LogFactory.getLog(MailUtils.class);


private static MimeMessage message;


@SuppressWarnings("null")
public static void sendMails(String tos,String subject, String context) {
try {
Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider());
final String SSL_FACTORY = "javax.net.ssl.SSLSocketFactory";
// QQ邮箱服务器
String smtpHost="smtp.qq.com";
// 邮箱用户名,即QQ账号
final String username = "1231@qq.com";
// 邮箱授权码
final String password = "授权码";
// 要发送到的邮箱
String tos = "c@.com,k@.com,ba@.com";
// 自己的邮箱
String from = "1231@qq.com";
Transport transport;


Properties props = new Properties();
props.setProperty("mail.smtp.socketFactory.class", SSL_FACTORY);
props.setProperty("mail.smtp.socketFactory.fallback", "false");
props.setProperty("mail.smtp.port", "465");
props.setProperty("mail.smtp.socketFactory.port", "465");
props.setProperty("mail.smtp.auth", "true");
props.put("mail.smtp.host", smtpHost);
props.put("mail.smtp.username", username);
props.put("mail.smtp.password", password);
Session session = Session.getDefaultInstance(props, new Authenticator() {
// 身份认证
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(username, password);
}
});
InternetAddress[] addresses = {};
if(tos.contains(",")){
String[] split = tos.split(",");
addresses = new InternetAddress[split.length];
for (int i = 0; i < split.length; i++) {
addresses[i] = new InternetAddress(split[i]);
}
}else{
addresses = new InternetAddress[1];
addresses[0] = new InternetAddress(tos);
}
message = new MimeMessage(session);


message.setFrom(new InternetAddress(from));
message.setRecipients(Message.RecipientType.TO, addresses);
message.setSubject(subject);
message.setSentDate(new Date());
message.setText(context);
transport = session.getTransport("smtp");
transport.connect(smtpHost, username, password);
transport.send(message);
} catch (AddressException e) {
e.printStackTrace();
} catch (MessagingException e) {
e.printStackTrace();
}
log.info("email has been sent===============");
}


}


}
原创粉丝点击