怎么实现javaspring-boot-starter-mail发送邮件

本篇内容主要讲解“怎么实现java spring-boot-starter-mail发送邮件”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么实现java spring-boot-starter-mail发送邮件”吧!

成都网站设计、网站制作介绍好的网站是理念、设计和技术的结合。创新互联拥有的网站设计理念、多方位的设计风格、经验丰富的设计团队。提供PC端+手机端网站建设,用营销思维进行网站设计、采用先进技术开源代码、注重用户体验与SEO基础,将技术与创意整合到网站之中,以契合客户的方式做到创意性的视觉化效果。

import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.mail.javamail.MimeMessageHelper;
import org.springframework.stereotype.Service;

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

@Service
@Slf4j
public class MonitorService {

    @Autowired
    private MonitorDao monitorDao;

    @Autowired
    private JavaMailSender mailSender;

    static boolean isSend = false;

    private void sendMail() throws MessagingException {
        MimeMessage mimeMessage = mailSender.createMimeMessage();
        MimeMessageHelper helper = new MimeMessageHelper(mimeMessage, true);
        //发件人
        helper.setFrom("241947457@qq.com");
        //收件人
        String[] to = new String[]{"11@11.com", "22@22.com"};
        helper.setTo(to);
        //标题
        helper.setSubject("130.51.23.249MyCat故障");
        //文本
        helper.setText("130.51.23.249 Mycat 故障,请尽快去看看。");
        //附件
//        helper.addAttachment("downFile",new File("D:\\cygwin64\\home\\workspace3\\learn-demo\\zookeeper\\src\\test\\java\\com\\tzxylao\\design\\ZookeeperApplicationTests.java"));
        mailSender.send(mimeMessage);
    }

    public int monitor() {
        try {
            Byte b = monitorDao.select();
            return b;
        }
        catch (Exception e) {
            log.error("heartbeat error!");
            try {
                if (!isSend) {
                    sendMail();
                    log.info("send mail ok!");
                    isSend = true;
                }
            } catch (MessagingException e1) {
                log.error("send mail error!", e);
            }
        }
        return 0;
    }

}


import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Repository;

@Repository
public class MonitorDao {

    @Autowired
    private JdbcTemplate jdbcTemplate;

    public Byte select() {
        String sql = "SELECT 1";
        Byte result = jdbcTemplate.queryForObject(sql, Byte.class);
        return result;
    }
}


# 设置邮箱主机
spring.mail.host=smtp.qq.com
# 设置用户名
spring.mail.username=241947457@qq.com
# 设置密码,该处的密码是QQ邮箱开启SMTP的授权码而非QQ密码
spring.mail.password=hxfpwaxswloscb11
# 设置是否需要认证,如果为true,那么用户名和密码就必须的,
# 如果设置false,可以不设置用户名和密码,当然也得看你的对接的平台是否支持无密码进行访问的。
spring.mail.properties.mail.smtp.auth=true
# STARTTLS[1]  是对纯文本通信协议的扩展。它提供一种方式将纯文本连接升级为加密连接(TLS或SSL),而不是另外使用一个端口作加密通信。
spring.mail.properties.mail.smtp.starttls.enable=true
spring.mail.properties.mail.smtp.starttls.required=true
mail.from=${spring.mail.username}

    
        org.springframework.boot
        spring-boot-starter-parent
        2.1.7.RELEASE
         
    

        
            org.springframework.boot
            spring-boot-starter-mail
        

到此,相信大家对“怎么实现java spring-boot-starter-mail发送邮件”有了更深的了解,不妨来实际操作一番吧!这里是创新互联网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!


网站栏目:怎么实现javaspring-boot-starter-mail发送邮件
浏览路径:http://myzitong.com/article/pcccpc.html