MailUtil邮件工具类的使用

 使用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();
    }
  }
}

猜你喜欢

转载自blog.csdn.net/RuiKe1400360107/article/details/82656233