Spring Boot 使用邮件

一、创建项目导入依赖:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-mail</artifactId>
</dependency>

二、发送邮件:

  1)application.yml

spring:
  mail:
    host: smtp.163.com
    username: 123123@163.com
    password: onmhhhhovd
    default-encoding: utf-8

  2)简单邮件发送:

    @Autowired
    private JavaMailSender sender;

    @Test
    public void sendMail(){
        SimpleMailMessage mailMessage = new SimpleMailMessage();
        mailMessage.setSubject("测试邮件主题");
        mailMessage.setText("测试邮件内容");
        mailMessage.setFrom("15968195@163.com");
        mailMessage.setTo("47117@qq.com");
        sender.send(mailMessage);
    }

  3)带HTML邮件:

    @Autowired
    private JavaMailSender sender;

    @Test
    public void sendMail1() throws MessagingException {
        MimeMessage message = sender.createMimeMessage();

        MimeMessageHelper mailMessage = new MimeMessageHelper(message,true);
        mailMessage.setSubject("测试邮件主题");
        mailMessage.setText("<a href='http://www.baidu.com'>点击跳转百度</a>",true);
        mailMessage.setFrom("159195@163.com");
        mailMessage.setTo("4755@qq.com");
        sender.send(message);
    }

  4)带附件邮件:

    @Autowired
    private JavaMailSender sender;

    @Test
    public void sendMail2() throws MessagingException {
        MimeMessage message = sender.createMimeMessage();

        MimeMessageHelper mailMessage = new MimeMessageHelper(message,true);
        mailMessage.setSubject("测试邮件主题");
        mailMessage.setText("<a href='http://www.baidu.com'>点击跳转百度</a>",true);
        mailMessage.setFrom("1590@163.com");
        mailMessage.setTo("471@qq.com");

        String path = "E:\\temp\\temp.jpg";
        FileSystemResource fileSystemResource = new FileSystemResource(path);
        String fileName = path.substring(path.lastIndexOf(File.separator)+1);
        mailMessage.addAttachment(fileName,fileSystemResource);

        sender.send(message);
    }

  5)使用模板引擎动态生成html页面发送:

<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<h1>你好<span th:text="${username}"></span></h1>
<p>这是一个邮件测试模板</p>
</body>
</html>
    @Autowired
    private JavaMailSender sender;

    @Autowired
    private TemplateEngine templateEngine;

    @Test
    public void sendMail3() throws MessagingException {
        MimeMessage message = sender.createMimeMessage();

        MimeMessageHelper mailMessage = new MimeMessageHelper(message,true);
        mailMessage.setSubject("测试邮件主题");
        mailMessage.setFrom("159@163.com");
        mailMessage.setTo("471@qq.com");

        //读取模板内容
        Context context = new Context();
        context.setVariable("username","张三");
        String info = templateEngine.process("temp", context);
        mailMessage.setText(info,true);

        sender.send(message);
    }

 

posted @ 2019-08-13 17:20  开拖拉机的拉风少年  阅读(184)  评论(0编辑  收藏  举报