import java.util.Properties;
import javax.mail.MessagingException;
import javax.mail.internet.MimeMessage;
import org.apache.log4j.Logger;
import org.springframework.mail.javamail.JavaMailSenderImpl;
import org.springframework.mail.javamail.MimeMessageHelper;
public class EmailUtil {
private static Logger logger = Logger.getLogger(EmailUtil.class);
public static boolean sendMail(MailSenderInfo mailInfo) {
boolean result = false;
JavaMailSenderImpl senderImpl = new JavaMailSenderImpl();
// 设定mail server
senderImpl.setHost(mailInfo.getMailServerHost());
senderImpl.setUsername(mailInfo.getUsername());
senderImpl.setPassword(mailInfo.getPassword());
Properties props = System.getProperties();
props.put("mail.smtp.auth", "true");
senderImpl.setJavaMailProperties(props);
// 建立HTML邮件消息
MimeMessage mailMessage = senderImpl.createMimeMessage();
// true表示开始附件模式
MimeMessageHelper messageHelper = null;
try {
messageHelper = new MimeMessageHelper(mailMessage, true, "gbk");
// 设置收件人,寄件人
messageHelper.setTo(mailInfo.getToAddress());
messageHelper.setFrom(mailInfo.getFromAddress());
if (mailInfo.getBccAddress() != null){
messageHelper.setBcc(mailInfo.getBccAddress());
}
if (mailInfo.getCcAddress() != null){
messageHelper.setCc(mailInfo.getCcAddress());
}
messageHelper.setSubject(mailInfo.getSubject());
// true 表示启动HTML格式的邮件
messageHelper.setText(mailInfo.getContent(), mailInfo.getHtmlContent());
// 发送邮件
senderImpl.send(mailMessage);
result = true;
} catch (MessagingException ex) {
logger.error("sendMail exception", ex);
}
return result;
}
}
package com.tempus.userCenter.utils;
public class MailSenderInfo {
// 发送邮件的服务器的IP和端口
private String mailServerHost;
private String mailServerPort = "25";
// 邮件发送者的地址
private String fromAddress;
// 邮件接收者的地址
private String[] toAddress;
/**
* 操送人地址列表
*/
private String[] ccAddress;
/**
* 暗送人地址列表
*/
private String[] bccAddress;
// 登陆邮件发送服务器的用户名和密码
private String username;
private String password;
// 是否需要身份验证
private boolean validate = false;
// 邮件主题
private String subject;
// 邮件的文本内容
private String content;
// 邮件附件的文件名
private String[] attachFileNames;
// 內容是否采用html形式
private boolean htmlContent = true;
public boolean getHtmlContent() {
return htmlContent;
}
public void setHtmlContent(boolean htmlContent) {
this.htmlContent = htmlContent;
}
public String getMailServerHost() {
return mailServerHost;
}
public void setMailServerHost(String mailServerHost) {
this.mailServerHost = mailServerHost;
}
public String getMailServerPort() {
return mailServerPort;
}
public void setMailServerPort(String mailServerPort) {
this.mailServerPort = mailServerPort;
}
public String getFromAddress() {
return fromAddress;
}
public void setFromAddress(String fromAddress) {
this.fromAddress = fromAddress;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public boolean isValidate() {
return validate;
}
public void setValidate(boolean validate) {
this.validate = validate;
}
public String getSubject() {
return subject;
}
public void setSubject(String subject) {
this.subject = subject;
}
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
public String[] getAttachFileNames() {
return attachFileNames;
}
public void setAttachFileNames(String[] attachFileNames) {
this.attachFileNames = attachFileNames;
}
public String[] getCcAddress() {
return ccAddress;
}
public void setCcAddress(String[] ccAddress) {
this.ccAddress = ccAddress;
}
public String[] getBccAddress() {
return bccAddress;
}
public void setBccAddress(String[] bccAddress) {
this.bccAddress = bccAddress;
}
public void setToAddress(String[] toAddress) {
this.toAddress = toAddress;
}
public String[] getToAddress() {
return toAddress;
}
/**
* 获取系统发送的邮件配置信息,每次返回不同的实例
* @return
*/
public static MailSenderInfo getSystemSender(){
MailSenderInfo instance = new MailSenderInfo();
instance.setMailServerHost("smtp.tempus.cn");
instance.setUsername("jing.liu");
instance.setPassword("admin");
instance.setValidate(true);
instance.setFromAddress("jing.liu@tempus.cn");
return instance;
}
/**
*
* 方法描述: (获取毕马威邮件设置)
* 作 者: yubiao.yan
* 日 期: 2013-05-30
* 返回类型: MailSenderInfo
*/
public MailSenderInfo setKpmgSender(MailSenderInfo instance){
if (instance==null)
{
instance = new MailSenderInfo();
}
instance.setMailServerHost("email.tempus.cn");
instance.setUsername("kf_tmc");
instance.setPassword("tempus.tb");
instance.setValidate(true);
instance.setFromAddress("kf_tmc@tempus.cn");
return instance;
}
/**
*
* 方法描述: (获取大客的邮箱设置)
* 作 者: yubiao.yan
* 日 期: 2013-05-30
* 返回类型: MailSenderInfo
*/
public MailSenderInfo setSystemSender(MailSenderInfo instance){
if (instance==null)
{
instance = new MailSenderInfo();
}
instance.setMailServerHost("email.tempus.cn");
instance.setUsername("kfgl@tempus.cn");
instance.setPassword("!@#)(*4567qq");
instance.setValidate(true);
instance.setFromAddress("kfgl@tempus.cn");
return instance;
}
}