Spring 发送邮件

package com.letv.uts.controlCenter.utils;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.mail.javamail.MimeMessageHelper;

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

public class EmailUtil {
    private static final Logger log = LoggerFactory.getLogger(EmailUtil.class);

    private static EmailUtil emailUtil = null;

    public ApplicationContext ctx = null;

    private EmailUtil() {
        //获取上下文           
        ctx = new ClassPathXmlApplicationContext("spring-mail-autowire.xml");
    }

    /**
     * @function:获得单例
     */
    public static EmailUtil getInstance() {
        if (emailUtil == null) {
            synchronized (EmailUtil.class) {
                if (emailUtil == null) {
                    emailUtil = new EmailUtil();
                }
            }
        }
        return emailUtil;
    }

    public void sentEmails(String emails, String subject, String text) {
        //获取JavaMailSender bean     
        JavaMailSender sender = (JavaMailSender) ctx.getBean("mailSender");
        //SimpleMailMessage只能用来发送text格式的邮件
        //SimpleMailMessage mail = new SimpleMailMessage();
        // 建立邮件消息,发送简单邮件和html邮件的区别
        MimeMessage mailMessage = sender.createMimeMessage();
        MimeMessageHelper messageHelper = null;
        try {
            messageHelper = new MimeMessageHelper(mailMessage,true,"GBK");
        } catch (MessagingException e) {
            e.printStackTrace();  //To change body of catch statement use File | Settings | File Templates.
        }

        String email[] = emails.split(";");
//        for (int i = 0; i < email.length; i++) {
            try {
                messageHelper.setTo(email);//接受者
                messageHelper.setFrom("oss-autoreport@letv.com");
                messageHelper.setSubject(subject);//主题
                messageHelper.setText(text,true);//邮件内容
                sender.send(mailMessage);
            } catch (Exception e) {
                e.printStackTrace();
            }
//        }
    }

    /**
     * @function:测试邮件发送
     */
    public static void main(String[] args) {
        String mail_title = "title";
        String mail_content = "content 地址:<a href='http://www.baidu.com'>baidu</a>";
        EmailUtil email = EmailUtil.getInstance();
        email.sentEmails("hukai@letv.com;hukai@letv.com;hukai9200@gmail.com", mail_title, mail_content);
    }
}  
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
<!-- 注意:这里的参数(如用户名、密码)都是针对邮件发送者的 -->
    <bean id="mailSender"
  class="org.springframework.mail.javamail.JavaMailSenderImpl">
        <property name="host">
            <value>mail.letv.com</value>
        </property>
        <property name="javaMailProperties">
            <props>
                <prop key="mail.smtp.auth">true</prop>
                <prop key="mail.smtp.timeout">60000</prop>
            </props>
        </property>
        <property name="username">
            <value>username</value>
        </property>
        <property name="password">
            <value>password</value>
        </property>
    </bean>
</beans>




                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值