Package com.skyline.common.util

Source Code of com.skyline.common.util.MailUtils

package com.skyline.common.util;

import java.util.Date;

import javax.mail.MessagingException;
import javax.mail.internet.MimeMessage;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.mail.SimpleMailMessage;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.mail.javamail.MimeMessageHelper;
import org.springframework.util.StringUtils;

public class MailUtils {
  private static final Log LOGGER = LogFactory.getLog(MailUtils.class);
  private static final JavaMailSender SENDER = SpringUtils.getBean("mailSender");
  private static final String FROM_ADDRESS = "skyline_test@163.com";

  private static SimpleMailMessage createSimpleMessage(String toAddr, String title, String content) {
    return createSimpleMessage(new String[] { toAddr }, null, null, null, title, content);
  }

  private static SimpleMailMessage createSimpleMessage(String[] toAddrs, String[] ccAddrs,
      String[] bccAddrs, String replyToAddr, String title, String content) {
    SimpleMailMessage msg = new SimpleMailMessage();
    msg.setFrom(FROM_ADDRESS);
    if (toAddrs != null) {
      msg.setTo(toAddrs);
    }
    if (ccAddrs != null) {
      msg.setCc(ccAddrs);
    }
    if (bccAddrs != null) {
      msg.setBcc(bccAddrs);
    }
    if (replyToAddr != null) {
      msg.setReplyTo(replyToAddr);
    }
    if (!StringUtils.hasLength(title)) {
      title = "无主题";
    }
    if (!StringUtils.hasLength(content)) {
      content = "信息已丢失。";
    }
    msg.setSentDate(new Date());
    msg.setSubject(title);
    msg.setText(content);
    return msg;
  }

  private static MimeMessage createMimeMessage(String toAddr, String title, String content)
      throws MessagingException {
    return createMimeMessage(new String[] { toAddr }, null, null, null, title, content);
  }

  private static MimeMessage createMimeMessage(String[] toAddrs, String[] ccAddrs,
      String[] bccAddrs, String replyToAddr, String title, String content)
      throws MessagingException {
    MimeMessage msg = SENDER.createMimeMessage();
    MimeMessageHelper helper = new MimeMessageHelper(msg, true);
    helper.setFrom(FROM_ADDRESS);
    if (toAddrs != null) {
      helper.setTo(toAddrs);
    }
    if (ccAddrs != null) {
      helper.setCc(ccAddrs);
    }
    if (bccAddrs != null) {
      helper.setBcc(bccAddrs);
    }
    if (replyToAddr != null) {
      helper.setReplyTo(replyToAddr);
    }
    if (!StringUtils.hasLength(title)) {
      title = "无主题";
    }
    if (!StringUtils.hasLength(content)) {
      content = "信息已丢失。";
    }
    msg.setSentDate(new Date());
    helper.setSubject(title);
    helper.setText(content, true);
    return msg;
  }

  public static void sendSimpleMail(String toAddress, String title, String content) {
    SimpleMailMessage msg = createSimpleMessage(toAddress, title, content);
    SENDER.send(msg);
  }

  public static void sendSimpleMail(String[] toAddresses, String title, String content) {
    SimpleMailMessage msg = createSimpleMessage(toAddresses, null, null, null, title, content);
    SENDER.send(msg);
  }

  public static void sendHtmlMail(String toAddress, String title, String content) {
    try {
      MimeMessage msg = createMimeMessage(toAddress, title, content);
      SENDER.send(msg);
    } catch (MessagingException e) {
      LOGGER.warn("发送HTML邮件发生错误!", e);
    }

  }

  public static void sendHtmlMail(String[] toAddresses, String title, String content) {
    try {
      MimeMessage msg = createMimeMessage(toAddresses, null, null, null, title, content);
      SENDER.send(msg);
    } catch (MessagingException e) {
      LOGGER.warn("发送HTML邮件发生错误!", e);
    }
  }

  public static void main(String... args) throws MessagingException {
//    sendSimpleMail("wuqihui__1@163.com", "测试邮件", "这是一封测试邮件");
    String title = FreeMarkerUtils.getRegistMailTitle("Liang Chen");
    String content = FreeMarkerUtils.getRegistMailContent("Liang chen", "http://www.renren.com");
    System.out.println(title);
    System.out.println(content);
    sendHtmlMail("panbiping89@163.com", title, content);

  }
}
TOP

Related Classes of com.skyline.common.util.MailUtils

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.