EmailUtil

import java.io.Serializable;

public class EmailVO implements Serializable{
    private static final long serialVersionUID = 1L;
    private String mail;
    private String toName;
    private String subject;
    private String body;
    private String showName;
    private String recommend;

    public String getRecommend() {
        return recommend;
    }
    public void setRecommend(String recommend) {
        this.recommend = recommend;
    }
    public String getMail() {
        return mail;
    }
    public void setMail(String mail) {
        this.mail = mail;
    }
    public String getToName() {
        return toName;
    }
    public void setToName(String toName) {
        this.toName = toName;
    }
    public String getSubject() {
        return subject;
    }
    public void setSubject(String subject) {
        this.subject = subject;
    }
    public String getBody() {
        return body;
    }
    public void setBody(String body) {
        this.body = body;
    }
    public String getShowName() {
        return showName;
    }
    public void setShowName(String showName) {
        this.showName = showName;
    }

}

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

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.mail.javamail.MimeMessageHelper;


public class EmailUtil {
    @Autowired
    private JavaMailSender javaMailSender;

    /**
     * 邮件发送<br>
     * subject 邮件主题<br>
     * text 邮件正文<br>
     * to 收件人邮箱<br>
     */
    public void sendHtmlEmail(String subject, String text, String to) throws MessagingException {
        MimeMessage mimeMessage = javaMailSender.createMimeMessage();
        MimeMessageHelper mimeMessageHelper = new MimeMessageHelper(mimeMessage, "UTF-8");

        String from = PropertyUtil.getProp("EMAILUSERNAME");

        if (null == to || "".equals(to.trim())) {
            to = PropertyUtil.getProp("TOEMAILUSERNAME");
        }

        // 如下是对传入的邮件信息校验
        if (StringUtil.isEmpty(from)) {
            throw new MessagingException(PropertyUtil.getProp("SEND_EMAIL_FROM_IS_NOT_NULL"));
        }
        if (StringUtil.isEmpty(to)) {
            throw new MessagingException(PropertyUtil.getProp("SEND_EMAIL_TO_IS_NOT_NULL"));
        }
        if (StringUtil.isEmpty(subject)) {
            throw new MessagingException(PropertyUtil.getProp("SEND_EMAIL_SUBJECT_IS_NOT_NULL"));
        }
        if (StringUtil.isEmpty(text)) {
            throw new MessagingException(PropertyUtil.getProp("SEND_EMAIL_TEXT_IS_NOT_NULL"));
        }
        if (!StringUtil.isEmail(from)) {
            throw new MessagingException(PropertyUtil.getProp("SEND_EMAIL_FROM_IS_NOT_EMAIL"));
        }

        String[] tos = to.split(",");
        for (String t : tos) {
            if (!StringUtil.isEmail(t)) {
                throw new MessagingException(PropertyUtil.getProp("SEND_EMAIL_TO_IS_NOT_EMAIL"));
            }
        }

        mimeMessageHelper.setFrom(from);
        mimeMessageHelper.setTo(tos);
        mimeMessageHelper.setText(text, true);
        mimeMessageHelper.setSubject(subject);

        javaMailSender.send(mimeMessage);
    }
}
/* * JCatalog Project */ package com.hexiang.utils; import java.util.List; import java.util.ArrayList; import java.util.Date; import java.util.Iterator; import java.util.Properties; import javax.mail.Session; import javax.mail.Transport; import javax.mail.Message; import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeMessage; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import com.hexiang.exception.CatalogException; /** * Utility class to send email. * * @author <a href="380595305@qq.com">hexiang</a> */ public class EmailUtil { //the logger for this class private static Log logger = LogFactory.getLog("com.hexiang.util.EmailUtil"); /** * Send email to a single recipient. * * @param smtpHost the SMTP email server address * @param senderAddress the sender email address * @param senderName the sender name * @param receiverAddress the recipient email address * @param sub the subject of the email * @param msg the message content of the email */ public static void sendEmail(String smtpHost, String senderAddress, String senderName, String receiverAddress, String sub, String msg) throws CatalogException { List<String> recipients = new ArrayList<String>(); recipients.add(receiverAddress); sendEmail(smtpHost, senderAddress, senderName, recipients, sub, msg); } /** * Send email to a list of recipients. * * @param smtpHost the SMTP email server address * @param senderAddress the sender email address * @param senderName the sender name * @param recipients a list of receipients email addresses * @param sub the subject of the email * @param msg the message content of the email */ public static void sendEmail(String smtpHost, String senderAddress, String senderName, List<String> recipients, String sub, String msg) throws CatalogException { if (smtpHost == null) { String errMsg = "Could not send email: smtp host address is null"; logger.error(errMsg); throw new CatalogException(errMsg); } try { Properties props = System.getProperties(); props.put("mail.smtp.host", smtpHost); Session session = Session.getDefaultInstance(props, null ); MimeMessage message = new MimeMessage( session ); message.addHeader("Content-type", "text/plain"); message.setSubject(sub); message.setFrom(new InternetAddress(senderAddress, senderName)); for (Iterator<String> it = recipients.iterator(); it.hasNext();) { String email = (String)it.next(); message.addRecipients(Message.RecipientType.TO, email); } message.setText(msg); message.setSentDate( new Date() ); Transport.send(message); } catch (Exception e) { String errorMsg = "Could not send email"; logger.error(errorMsg, e); throw new CatalogException("errorMsg", e); } } }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值