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

配置 各大邮箱网站的 smtp/pop3 服务 密钥

  • QQ邮箱:设置页账号下方的smtp等服务管理。
用户名/帐户: 你的QQ邮箱完整的地址
密码: 生成的授权码
电子邮件地址: 你的QQ邮箱的完整邮件地址
接收邮件服务器: pop.qq.com,使用SSL,端口号995
发送邮件服务器: smtp.qq.com,使用SSL,端口号465或587
授权码: kbitenpzyfomdfee

对应在 application.yml 配置文件中填写的内容是:

spring:
	mail:
		host: smtp.qq.com
		usename: 2957604083@qq.com
		password: kbitenpzyfomdfee

这里的配置不需要在代码中载入等等,因为yml配置文件会自动由springboot读取并处理,甚至在你写的时候就会补全出来对应组件含有的配置项。

之后编写一下使用 JavaMailSender 发送一个 SimpleMailMessage 邮件即可。

@SpringBootTest
class SpringBootTestApplicationTests {
 
      //JavaMailSender是专门用于发送邮件的对象,自动配置类已经提供了Bean
    @Autowired
    JavaMailSender sender;
 
    @Test
    void contextLoads() {
          //SimpleMailMessage是一个比较简易的邮件封装,支持设置一些比较简单内容
        SimpleMailMessage message = new SimpleMailMessage();
          //设置邮件标题
        message.setSubject("【电子科技大学教务处】关于近期学校对您的处分决定");
          //设置邮件内容
        message.setText("XXX同学您好,经监控和教务巡查发现,您近期存在旷课、迟到、早退、上课刷抖音行为," +
                "现已通知相关辅导员,请手写5000字书面检讨,并在2022年4月1日17点前交到辅导员办公室。");
          //设置邮件发送给谁,可以多个,这里就发给你的QQ邮箱
        message.setTo("你的QQ号@qq.com");
          //邮件发送者,这里要与配置文件中的保持一致
        message.setFrom("javastudy111@163.com");
          //OK,万事俱备只欠发送
        sender.send(message);
    }
 
}