Springboot整合Mail进行邮箱验证码注册

文章介绍了如何使用SpringBoot集成邮件服务发送验证码,包括配置SMTP服务器、EmailService类的解析、验证码生成工具类VerificationCodeUtils的讲解,以及Controller层处理注册时发送验证码的逻辑。

一、导入依赖

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

二、application.yml配置

spring:
  mail:
    host: smtp.qq.com
    port: 465
    username: 你的qq邮箱
    password: 你的qq邮箱授权码
    protocol: smtps
    default-encoding: UTF-8 #默认编码格式
    properties:
      mail:
        debug: true #启动debug调试
        smtp:
          socketFactory:
            class: javax.net.ssl.SSLSocketFactory #SSL连接配置

Spring Mail的配置信息,用于设置邮件发送相关参数。

  • host: SMTP服务器的地址,这里使用QQ邮箱的SMTP服务器地址。
  • port: SMTP服务器监听的端口,默认为25,但QQ邮箱SMTP服务器采用SSL加密传输需要使用465端口。
  • username: 发送邮件的邮箱账号,这里填写QQ邮箱的账号。
  • password: 发送邮件的邮箱账号的授权码,用于验证邮箱身份,这里也填写QQ邮箱的账号的授权码。
  • protocol: 使用协议类型,这里选择smtps,即SMTP-over-SSL。
  • default-encoding: 默认编码格式,这里设置为UTF-8。
  • debug: 是否启动调试模式,当设置为true时会打印出更多调试信息。
  • properties: 设定额外的属性,这里设置了mailsmtp两个属性,socketFactory则对应SSL连接所需的类。

三、EmailService代码解读

@Service
public class EmailService {
   
   

创建一个名为EmailService的服务类。

@Autowired
private JavaMailSender mailSender;

使用Spring的自动装配(Autowired)特性注入一个JavaMailSender实例作为依赖项。JavaMailSender是用于发送邮件的Spring框架中的接口。

@Value("${spring.mail.username}")
private String from;

使用注释值(Value)来从配置文件中读取属性值,这里指的是spring.mail.username的值并将其变量化成from

public void sendMail(String to, String subject, String content) throws MessagingException {
   
   

在服务类中定义名为sendMail的方法,该方法接收三个参数(tosubjectcontent)并且可以抛出MessagingException异常。

MimeMessage message 
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

吉屋安

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值