Springboot发送邮件

时间:2022-11-30 22:36:47 类型:JAVA
字号:    

一. 导入依赖

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

二. 配置

配置邮件也是很简单的,可以yml文件中配置,要注意的是password填的不是邮箱密码,而是授权码。
qq邮箱获取授权码的方法,可以进入QQ邮箱首页->设置->帐户,开启SMTP服务,并生成授权码

1.png

Spring:
  mail:
    # 配置 SMTP 服务器地址
    host: smtp.qq.com
    # 发送者邮箱
    username: 自己的邮箱
    # 配置密码,注意不是真正的密码,而是刚刚申请到的授权码
    password: qcrpewgmufmmdedd
    # 端口号465或587
    port: 587
    # 默认的邮件编码为UTF-8
    default-encoding: UTF-8
    # 配置SSL 加密工厂
    properties:
      mail:
        smtp:
          socketFactoryClass: javax.net.ssl.SSLSocketFactory
        #表示开启 DEBUG 模式,这样,邮件发送过程的日志会在控制台打印出来,方便排查错误
        debug: true

三. 发送

@Controller
public class MailController {
    @Autowired
    JavaMailSender javaMailSender;
    @RequestMapping("/mail")
    @ResponseBody
    public  String mail(){
        SimpleMailMessage message=new SimpleMailMessage();
        message.setText("内容");
        message.setSubject("主题");
        message.setTo("收件人邮箱");
        message.setFrom("发件人邮箱");//发送邮件的一方邮箱
//        message.setCc("抄送人");
//        message.setBcc("密送人");
        javaMailSender.send(message);
        return "success";
    }
}


<