maven配置:
<dependency> <groupId>org.springframework</groupId> <artifactId>spring-context-support</artifactId> <version>4.2.7.RELEASE</version> </dependency>
<dependency> <groupId>javax.mail</groupId> <artifactId>mail</artifactId> <version>1.4.7</version> </dependency>
mailUtail.java
com.xx.xx.biz.utils;
com.xx.xx.common.dataobj.EmailDO;
org.springframework.core.io.FileSystemResource;
org.springframework.mail.javamail.JavaMailSenderImpl;
org.springframework.mail.javamail.MimeMessageHelper;
javax.mail.Session;
javax.mail.internet.MimeMessage;
java.io.File;
java.util.*;
MailUtil {
sendEmail(EmailDO bo,String[] toEmailArray,String[] ccEmailArray) Exception {
(Constants..equals() ||Constants..equals()
|| Constants..equals()
|| Constants..equals()) {
RuntimeException();
}
JavaMailSenderImpl senderImpl = JavaMailSenderImpl();
senderImpl.setHost(Constants.);
MimeMessage mailMessage = senderImpl.createMimeMessage();
MimeMessageHelper messageHelper = ;
messageHelper = MimeMessageHelper(mailMessage, , );
messageHelper.setFrom(Constants.);
List<String> toEmailList = ArrayList<String>();
(== toEmailArray || toEmailArray.<= ) {
RuntimeException();
} {
(String s : toEmailArray) {
s = DataUtil.(s);
(!s.equals()) {
toEmailList.add(s);
}
}
(== toEmailList || toEmailList.size() <= ) {
RuntimeException();
} {
toEmailArray = String[toEmailList.size()];
(i = ; i < toEmailList.size(); i++) {
toEmailArray[i] = toEmailList.get(i);
}
}
}
messageHelper.setTo(toEmailArray);
(!=ccEmailArray && ccEmailArray.>){
messageHelper.setCc(ccEmailArray);
}
messageHelper.setSubject(bo.getSubject());
messageHelper.setText(bo.getContent(), );
(!= bo.getPictures()) {
(Iterator<Map.Entry<String, String>> it = bo.getPictures().entrySet()
.iterator(); it.hasNext();) {
Map.Entry<String, String> entry = it.next();
String cid = entry.getKey();
String filePath = entry.getValue();
(== cid || == filePath) {
RuntimeException();
}
File file = File(filePath);
(!file.exists()) {
RuntimeException(+ filePath + );
}
FileSystemResource img = FileSystemResource(file);
messageHelper.addInline(cid, img);
}
}
(!= bo.getAttachments()) {
(Iterator<Map.Entry<String, String>> it = bo.getAttachments()
.entrySet().iterator(); it.hasNext();) {
Map.Entry<String, String> entry = it.next();
String cid = entry.getKey();
String filePath = entry.getValue();
(== cid || == filePath) {
RuntimeException();
}
File file = File(filePath);
(!file.exists()) {
RuntimeException(+ filePath + );
}
FileSystemResource fileResource = FileSystemResource(file);
messageHelper.addAttachment(cid, fileResource);
}
}
Properties prop = Properties();
prop.put(, ); prop.put(, );
MyAuthenticator auth = MyAuthenticator(Constants., Constants.);
Session session = Session.(prop, auth);
senderImpl.setSession(session);
senderImpl.send(mailMessage);
}
main(String[] args) Exception {
MailUtil mu = MailUtil();
}
}Constants.java
/**
* xx.com Inc.
* copyright (c) 2015-2016 All Rights Reserved.
*/
package com.xxx.xxx.biz.utils;
import org.apache.log4j.Logger;
import java.util.Map;
/**
*@author wgy
*@version Id:Constants.java, v 0.1 2016/9/6 9:00 wgy
*/
public class Constants {
private static Logger logger = Logger.getLogger(Constants.class);
/**
* 发件人邮箱服务器
*/
public static String emailHost;
/**
* 发件人邮箱
*/
public static String emailFrom;
/**
* 发件人用户名
*/
public static String emailUserName;
/**
* 发件人密码
*/
public static String emailPassword;
/**
* 收件人邮箱,多个邮箱以“;”分隔
*/
public static String toEmails;
/***
* 抄送人
*/
public static String ccEmails;
/**
* 邮件主题
*/
public static String subject;
/**
* 邮件内容
*/
public static String content;
/**
* 邮件中的图片,为空时无图片。map中的key为图片ID,value为图片地址
*/
public static Map<String, String> pictures;
/**
* 邮件中的附件,为空时无附件。map中的key为附件ID,value为附件地址
*/
public static Map<String, String> attachments;
public void setEmailHost(String emailHost) {
this.emailHost = emailHost;
}
public String getEmailHost() {
return emailHost;
}
public void setEmailFrom(String emailFrom) {
this.emailFrom = emailFrom;
}
public String getEmailFrom() {
return emailFrom;
}
public void setEmailUserName(String emailUserName) {
this.emailUserName = emailUserName;
}
public String getEmailUserName() {
return emailUserName;
}
public void setEmailPassword(String emailPassword) {
this.emailPassword = emailPassword;
}
public String getEmailPassword() {
return emailPassword;
}
public void setToEmails(String toEmails) {
this.toEmails = toEmails;
}
public String getToEmails() {
return toEmails;
}
public void setCcEmails(String ccEmails) {
this.ccEmails = ccEmails;
}
public String getCcEmails() {
return ccEmails;
}
public void init() {
logger.info("emailHost=========:" + emailHost);
}
}
EmailDO.java
/**
* xxx.com Inc.
* copyright (c) 2015-2016 All Rights Reserved.
*/
package com.xxx.xxxx.common.dataobj;
import java.util.Map;
/**
*@author wgy
*@version Id:EmailDO.java, v 0.1 2016/9/7 19:56 wgy
*/
public class EmailDO {
private String subject;
private String content;
private Map<String, String> pictures;
private Map<String, String> attachments;
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 Map<String, String> getPictures() {
return pictures;
}
public void setPictures(Map<String, String> pictures) {
this.pictures = pictures;
}
public Map<String, String> getAttachments() {
return attachments;
}
public void setAttachments(Map<String, String> attachments) {
this.attachments = attachments;
}
}





