短信验证替代品——邮箱验证
2026/6/8 22:58:49 网站建设 项目流程

前言

  • 短信服务都需要服务商类提供(要花钱开通),有的小伙伴既想要验证码但是又不想花钱开通短信服务怎么办呢,我们完全可以使用邮箱验证的方式来进行平替(完全不花钱)。话不多说,上教程。

正文

  • 首先,我们需要获取邮箱的授权码(以qq邮箱为例)

    • 登录qq邮箱,点击右上角的设置

    • 来到安全设置之后,点击安全管理,生成授权码,然后按照提示一步一步获取授权码(最后要复制,如果忘记复制就再生成一个)

  • 接下来就是配置代码

    • 首先引入发送邮件的maven依赖

      <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-mail</artifactId></dependency>
    • 配置yml

      spring:mail:host:smtp.qq.comport:465username:# 你的qq邮箱password:# 你刚刚复制的授权码default-encoding:UTF-8protocol:smtpproperties:mail:smtp:auth:truessl:enable:true# ✅ 必须开启 SSLsocketFactory:class:javax.net.ssl.SSLSocketFactoryfallback:falsestarttls:enable:false# 465 端口用 SSL,不是 STARTTLS
    • 发送邮件的Demo

      importcn.hutool.core.date.DateUtil;importcom.baomidou.mybatisplus.extension.service.impl.ServiceImpl;importcom.travel.echo.domain.entity.Email;importcom.travel.echo.mapper.EmailMapper;importcom.travel.echo.service.IEmailService;importjakarta.annotation.Resource;importlombok.extern.slf4j.Slf4j;importorg.springframework.mail.SimpleMailMessage;importorg.springframework.mail.javamail.JavaMailSender;importorg.springframework.stereotype.Service;/** * @author LuoYang * @date 2025/12/17 */@Service@Slf4jpublicclassEmailDemo{@ResourceprivateJavaMailSenderjavaMailSender;@OverridepublicvoidsendEmail(){SimpleMailMessagemsg=newSimpleMailMessage();msg.setSubject("邮件的主题");msg.setText("邮件的正文");msg.setTo("接收方的邮箱地址");msg.setFrom("你的qq邮箱");javaMailSender.send(msg);}}
  • 这样就可以发送邮件了,我们可以结合redis生成验证码来进行登录,注册的时候还可以在邮件内容设置http连接,通过让用户点击链接调用我们接口来实现验证,具体的用法可以自行探索。


结尾

  • 读万卷书 行万里路

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询