SpringBoot的JavaMailSender(邮件发送)接口使用

Spring为邮件发送功能提供了一个很好的接口JavaMailSender,同时SpringBoot也为此提供了相应的自动化配置

依赖引用:

<dependency>

    <groupId>org.springframework.boot</groupId>

    <artifactId>spring-boot-starter-mail</artifactId>

</dependency>

配置文件的配置

//邮箱smtp/pop3地址
spring.mail.host=smtp.163.com

//邮箱用户
spring.mail.username=邮箱用户名 so****@163.com

//注意这里的密码并不是你邮箱的密码,而是开启smtp/pop3的授权码
spring.mail.password=邮箱密码

/*以下选用
spring.mail.default-encoding=UTF-8

properties:
      mail:
        smtp:
          # 需要验证登录名和密码#          auth: true
        starttls:
           # 需要TLS认证 保证发送邮件安全验证
          enable: true
          required: true

*/

在发送邮件时,通过 SmpleMailMessage 类来简单配置出一个邮件信息,使用JavaMailSender来发送邮件:

@Autowired

    private JavaMailSender mailSender;

 

@RequestMapping("/send")

public void sendMail(){

        SimpleMailMessage message = new SimpleMailMessage();

        message.setFrom("so****@163.com");

        message.setTo("239****@qq.com");

        message.setSubject("it is a test for spring boot");

        message.setText("你好,我是小黄,我正在测试发送邮件。");

 

        try {

            mailSender.send(message);

            logger.info("小黄的测试邮件已发送。");

        } catch (Exception e) {

            logger.error("小黄发送邮件时发生异常了!", e);

        }

    }