MailUtils.java 1.87 KB
package com.bsth.util;

import com.bsth.email.SimpleMailSender;
import com.bsth.email.entity.EmailBean;
import org.springframework.beans.factory.InitializingBean;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;

import java.util.List;

/**
 * @author Hill
 */
@Component
public class MailUtils implements InitializingBean {

    @Value("${admin.mail}")
    private String emailSendToAddress;

    @Value("${server.email.username}")
    private String emailUsername;

    @Value("${server.email.password}")
    private String emailPassword;

    private Tools tools = new Tools("mailbox.properties");

    private SimpleMailSender sms;

    public String getEmailSendToAddress() {
        return emailSendToAddress;
    }

    public void setEmailSendToAddress(String emailSendToAddress) {
        this.emailSendToAddress = emailSendToAddress;
    }

    /**
     * recipients
     * 收件人集合
     * mail
     * 邮件
     */
    public int sendMail(List<String> recipients, EmailBean mail){
        try {
            for (String recipient : recipients) {
                sms.send(recipient, mail.getSubject(),mail.getContent());
            }
        } catch (Exception e) {
            e.printStackTrace();
            return -1;
        }
        return 1;
    }

    /**
     * recipient
     * 收件人
     * mail
     * 邮件
     */
    public int sendMail(String recipient,EmailBean mail){
        try {
            sms.send(recipient, mail.getSubject(),mail.getContent());
        } catch (Exception e) {
            e.printStackTrace();
            return -1;
        }
        return 1;
    }

    public int sendMail(EmailBean mail){
        return sendMail(emailSendToAddress, mail);
    }

    @Override
    public void afterPropertiesSet() throws Exception {
        sms = new SimpleMailSender(emailUsername, emailPassword);
    }
}