使用send方法截图:
贴代码:
package com.fiberhome.ms.offer.util;
import java.io.UnsupportedEncodingException;
import java.util.Date;
import java.util.Properties;
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 org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
@Component
public class MailUtil {
@Value("${mail.senderAddress}")
private String senderAddress;
@Value("${mail.senderPassword}")
private String senderPassword;
private String senderNickName = "产品报价器";
private String subject = "";
private String content = "";
private String nextAuditSubject = "产品报价器-报价单待审核通知";
private String nextAuditContent = "<h2><strong>您有新的报价单申请待审核,请及时登录产品报价器系统处理!</strong></h2>";
private String passSubject = "产品报价器-报价单审核通过通知";
private String passContent = "<h2 style='color:green;'><strong>您提交的报价单已经通过所有审核流程,详情请登录产品报价器系统查看。</strong></h2>";
private String rejectSubject = "产品报价器-报价单被驳回通知";
private String rejectContent = "<h2 style='color:red;'><strong>您提交的报价单未通过审核,具体原因请登录产品报价器系统查看。</strong></h2>";
public String getRecipientList(String[] recipientsArray) {
StringBuffer sb = new StringBuffer();
int len = recipientsArray.length;
if ((recipientsArray != null) && (len < 2)) {
sb.append(recipientsArray[0]);
}else {
for(int i = 0; i <len; i ++) {
sb.append(recipientsArray[i]);
if (i != (len - 1)) {
sb.append(",");
}
}
}
return sb.toString();
}
public void send(String flag,String[] recipients,String[] carbonCopies){
try{
Properties props = new Properties();
props.put("mail.smtp.host","smtp.fiberhome.com");
props.setProperty("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
props.setProperty("mail.smtp.socketFactory.fallback", "true");
props.setProperty("mail.smtp.port", "25");
props.setProperty("mail.smtp.socketFactory.port", "25");
props.put("mail.smtp.auth", "true");
Session session = Session.getDefaultInstance(props);
MimeMessage message = new MimeMessage(session);
message.setFrom(new InternetAddress(this.senderAddress,this.senderNickName));
if ((recipients != null) && (recipients.length > 0)) {
message.setRecipients(Message.RecipientType.TO, InternetAddress.parse(getRecipientList(recipients)));
}
if ((carbonCopies != null) && (carbonCopies.length > 0)) {
message.setRecipients(Message.RecipientType.CC, InternetAddress.parse(getRecipientList(carbonCopies)));
}
if (flag.equals("next")) {
this.subject = nextAuditSubject;
this.content = nextAuditContent;
}else if(flag.equals("success")) {
this.subject = passSubject;
this.content = passContent;
}else if(flag.equals("reject")){
this.subject = rejectSubject;
this.content = rejectContent;
}else{
//
}
message.setSubject(this.subject);
message.setContent(this.content,"text/html;charset=UTF-8");
message.setSentDate(new Date());
message.saveChanges();
Transport transport = session.getTransport("smtp");
transport.connect("smtp.fiberhome.com",this.senderAddress,this.senderPassword);
transport.sendMessage(message,message.getAllRecipients());
transport.close();
}catch (UnsupportedEncodingException e){
e.printStackTrace();
}catch (MessagingException e){
e.printStackTrace();
}
}
}