Springboot 实现发送邮件功能,使用QQ邮箱

引入依赖

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

配置文件

  mail:
    host: smtp.qq.com
    port: 465
    username: 你的邮箱
    password: qq 邮箱生成的授权码***(下文介绍如何获取)***
    default-encoding: utf-8
    properties:
      mail:
        smtp:
          ssl:
            enable: true #一定要开启ssl,不然会503 验证失败的

功能实现


@Autowired
    private JavaMailSender javaMailSender;

    @Value("${spring.mail.username}")
    private String sender;


    @Async
    @Override
    public void sendMail(String to, String subject, String content) {

        logger.debug(sender);
        SimpleMailMessage mailMessage=new SimpleMailMessage();
        mailMessage.setFrom(sender);
        mailMessage.setTo(to);
        mailMessage.setSubject(subject);
        mailMessage.setText(content);
        try {
            javaMailSender.send(mailMessage);
        }catch (Exception e){
            e.printStackTrace();
            System.out.println("发送简单邮件失败");
        }

    }

测试


 @Autowired
    private EmailService emailService;

    @Test
    public void contextLoads() {
        emailService.sendMail("[email protected]","你好呀","你的网站做的好棒嗒");
        logger.debug("发送成功");
    }

如何获取授权码

Springboot 实现发送邮件功能,使用QQ邮箱
进去后点击服务

Springboot 实现发送邮件功能,使用QQ邮箱
**

生成授权码,注意,一定要保存

**