实战之如何使用SpringBoot发送邮件

原创 码农  2019-12-14 10:28:11  阅读 237 次 评论 0 条

介绍

本文主要讲解如何使用SpringBoot快速实现发送邮件的功能。

问题

第一个问题:如何使用SpringBoot发送一封邮件?

代码分析

第一步:在父模块下面创建一个名为boot-example-email的子模块

第二步:在子模块中添加依赖

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

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

第三步:添加邮件配置

spring:
  mail:
    host: smtp.qq.com
    username: xxxx@qq.com
    password: zaaa # 需要登录qq邮箱,然后开启smtp服务,会得到一个密码
    properties:
      mail:
        smtp:
          auth: true
          starttls:
            enable: true
            starttls:
              required: true

第四步:编写发送邮件业务类

@Service
@Slf4j
public class EmailService {

    @Autowired
    private JavaMailSender sender;

    @Autowired
    private MailProperties mailProperties;

    /**
     * 发送纯文本的简单邮件
     * @param to 发送目标
     * @param subject 发送主题
     * @param content 发送内容
     */
    public void sendSimpleMail(String to, String subject, String content){
        SimpleMailMessage message = new SimpleMailMessage();
        message.setFrom(mailProperties.getUsername());
        message.setTo(to);
        message.setSubject(subject);
        message.setText(content);

        try {
            sender.send(message);
            log.info("简单邮件已经发送。");
        } catch (Exception e) {
            log.error("发送简单邮件时发生异常!", e);
        }
    }
}

第五步:定义发送邮件控制器

@RestController
@RequestMapping("/emails")
public class EmailController {

    @Autowired
    private EmailService emailService;

    @GetMapping("/send")
    public String send() {
        emailService.sendSimpleMail("xxxx@163.com", "测试邮件", "一封来自Spring Boot应用的测试邮件!!!");
        return "邮件发送成功!!!";
    }
}

第六步:定义启动类

@SpringBootApplication
public class EmailApplication {

    public static void main(String[] args) {
        SpringApplication.run(EmailApplication.class, args);
    }
}

第七步:发送邮件

http://localhost:8080/emails/send

第八步:登录邮箱查看邮件

实战之如何使用SpringBoot发送邮件 实战之如何使用SpringBoot发送邮件 编程代码

总结

第一个问题:如何使用SpringBoot发送一封邮件?

①引入发送邮件的starter

②注入JavaMailSender对象

③构建SimpleMailMessage对象

资源地址

[SpringBoot发送邮件](https://github.com/a601942905git/boot-example/tree/master/boot-example-email)


本文地址:https://www.itcodeit.com/post/14.html
版权声明:本文为原创文章,版权归 码农 所有,欢迎分享本文,转载请保留出处!

发表评论


表情

还没有留言,还不快点抢沙发?