当前位置: 首页 > news >正文

将阿里云短息服务替换成邮箱短息

学习验证码发送

在学习使用阿里云短息发送服务的时候,由于还是学生,注册开通阿里云短息服务需要很多材料,注册流程比较繁琐,而且会产生一定费用。


于是采用邮箱短息来发送验证码的发送,替代阿里云手机短息发送。
以下是实现方法:
第一步:在pom文件中引入依赖

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

第二步:在properties文件中进行相关配置

# 163邮箱的地址为smtp.163.com,直接填写即可
spring.mail.host=smtp.163.com
# 你申请的163邮箱
spring.mail.username=
# 注意密码是在开启smtp/pop3时自动生成的,不是邮箱密码,记得保存一下,不然就找不到了
spring.mail.password=

第三步:写controller代码

public class EmailController {@AutowiredprivateEmailService emailService;@Autowiredprivate RedisTemplate<String,String> redisTemplate;@GetMapping("send/{email}")public R sendMsm(@PathVariable String email) {// 先从redis中看看有没有验证码String code = redisTemplate.opsForValue().get(email);if (!StringUtils.isEmpty(code)) {return R.ok();}emailService.sendVerifyCode(email);return R.ok();}
}

第四步:写service代码,这里内容可以按需修改。

public class EmailServiceImpl implements EmailService {@Resourceprivate JavaMailSender sender;@Value("${spring.mail.username}")private String email;@Autowiredprivate RedisTemplate<String,String> redisTemplate;@Overridepublic void sendVerifyCode(String mail) {SimpleMailMessage message = new SimpleMailMessage();//邮件标题message.setSubject("【xxx网站】您的注册码");//设置随机数作为验证码String code = RandomUtil.getFourBitRandom();// 把验证码放入redis中并且设置过期时间为5分钟redisTemplate.opsForValue().set(mail,code,5, TimeUnit.MINUTES);//邮件内容message.setText("您的验证码是:"+code+",五分钟有效,请及时完成注册。若不是本人操作请忽略");//谁发送,必须和配置文件中的账号一致message.setFrom(email);//谁接收message.setTo(mail);sender.send(message);}
}

这里面我还使用redis设置了验证码过期时间的功能,如果不需要可以删除相关redis代码即可。
2025-12-07 13:40:37 星期日 Chools

http://www.zskr.cn/news/75813.html

相关文章:

  • 谷歌(Google)浏览器显示内存不足,无法打开此网页
  • Volt Typhoon攻击:深入分析中国背景黑客组织的工具集与技战术
  • 一文读懂:如何选择适合的RAG环境架构设计模式?
  • 原理图库文档处理工具
  • 初识MYSQL —— 复合查询 - 详解
  • 洛谷 P7971 [KSN2021] Colouring Balls 题解
  • 材料科学每日总结--Day13--数据挖掘
  • 原理图文档处理工具
  • 2025年3D扫描仪十大品牌权威排名:国产化替代首选TOP10
  • P8270 [USACO22OPEN] Subset Equality S
  • 街头徒手健身6倒立训练与肩部健康
  • 基于MATLAB的位同步提取方法
  • 102302141_易敏亮第四次数据采集作业
  • CF700B Connecting Universities
  • P6875 [COCI2013-2014#6] KRUŽNICE
  • 北京上门回收名家字画 专访北京丰宝斋负责人徐亚南
  • MultiButton移植记录
  • Excel 公式
  • P6173 [USACO16FEB] Circular Barn P
  • 为数字文明奠基:论通译院-价值星图-叙事舞台架构作为价值实践的元操作系统
  • grep 常用功能
  • 2025 最新工业自动化服务商 / 厂家 TOP5 评测!科技赋能 + 全周期服务权威榜单发布,引领智慧工厂建设新生态
  • 2025 最新智慧工厂建设服务商/厂家 TOP5 评测!科技赋能+全周期服务权威推荐榜单发布,引领智能制造新生态
  • why windows is worst
  • 4pcs Launch LTR-05 TPMS Sensor Tool 315MHz 433MHz - Metal/Rubber for European/American Cars
  • Get Lifetime Free Launch X431 ADAS Calibration for PAD VII/Pro5/Pro3S+/Pro3/APEX
  • 儿童补钙不盲选!从钙源到配方,儿童钙剂选购全指南
  • 2025年ChatGPT优化排名公司推荐:AI驱动下的SEO新选择
  • 2025年深圳GEO优化公司推荐:AI驱动时代的流量突围伙伴
  • 2025年11月儿童营养品牌测评指南——选对不踩坑