Uylin
发布于 2023-09-08 / 37 阅读 / 0 评论 / 0 点赞

邮件发送

SpringBoot整合邮件发送

邮件发送功能在项目中很常见,一般用于任务完成后的通知或接收邮件验证码等场景。今天以qq邮箱为例介绍一下SpringBoot项目整合邮件发送功能。

引入依赖

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

配置

spring:
  mail:
    host: smtp.qq.com
    username: ****@qq.com
    password: ******

spring.mial.host:邮箱服务器地址,smtp.qq.com为qq邮箱服务器地址,如果使用163邮箱,即为smtp.163.com,根据选择更改。

spring.mial.username:发送源,即从哪个邮箱发送邮件出去,填自己的即可

spring.mial.password:发送源的授权码,需要去发送源的邮箱配置获取

编码

@RestController
public class VoterGenController {
   //注入邮件发送对象
   @Autowired
   JavaMailSender javaMailSender;
   //获取发送源邮箱
   @Value("${spring.mail.username}")
   private String fromMailAddr;

   @GetMapping("sendEmail")
    public void sendMail(){
        //创建简单邮件对象
        SimpleMailMessage message = new SimpleMailMessage();
        //设置发送源
        message.setFrom(fromMailAddr);
        //设置邮件标题
        message.setSubject("通知邮件");
        //设置邮件内容
        message.setText("哎哟,你干嘛");
        //设置发送目标邮箱,可以填自己或者任意邮箱
        message.setTo("296343079@qq.com");
        //发送邮件
        javaMailSender.send(message);
    }
}