news 2026/7/11 17:09:03

(小白入门)qq邮箱发送验证码,实现忘记密码重置

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
(小白入门)qq邮箱发送验证码,实现忘记密码重置

第一步:获取QQ邮箱的“授权码”(唯一需要做的事)

  1. 登录你的QQ邮箱网页版。

  2. 点击顶部【设置】【账户】

  3. 向下翻,找到【POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务】这个部分。

  4. 找到【开启】POP3/SMTP服务这一项,点击它旁边的【开启】按钮

  5. 按照提示(手机发条短信)完成验证。

  6. 验证成功后,系统会给你一个16位的“授权码”(由字母和数字组成)。务必立即复制保存下来!(比如记在电脑记事本里),这个页面关了就看不了了。

  • 这时候获取的授权码默认是开启的状态

  • 有时候部署项目的时候即便授权码对了,也会报错,说登不进去,下面就是解决方案:

  • 先点击【关闭】SMTP服务(如果已开启)。

  • 等待1分钟,然后重新点击【开启】

  • 按提示(可能需要发短信)完成验证,获取全新的16位授权码

  • 立即复制这个新授权码(旧的全部失效)

第二步:创建spring boot项目

更新配置文件

打开application.properties,确保配置完全如下

# QQ邮箱SMTP配置 spring.mail.host=smtp.qq.com spring.mail.port=587 spring.mail.username=***@qq.com(完整的qq邮箱) spring.mail.password=你刚获取的全新16位授权码 spring.mail.default-encoding=UTF-8 spring.mail.properties.mail.smtp.auth=true spring.mail.properties.mail.smtp.starttls.enable=true spring.mail.properties.mail.smtp.connectiontimeout=10000 spring.mail.properties.mail.smtp.timeout=10000 spring.mail.properties.mail.smtp.writetimeout=10000

第三步:添加pom.xml的依赖

<!-- 添加这个依赖来解决 MimeMessage 缺失问题 --> <dependency> <groupId>com.sun.mail</groupId> <artifactId>jakarta.mail</artifactId> <version>2.0.1</version> </dependency>

第四步:创建专用测试类

src/main/java的任意位置,创建新文件EmailTest.java

package improv1.improv1; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.CommandLineRunner; import org.springframework.mail.SimpleMailMessage; import org.springframework.mail.javamail.JavaMailSender; import org.springframework.stereotype.Component; @Component public class EmailTest implements CommandLineRunner { @Autowired private JavaMailSender mailSender; @Override public void run(String... args) { System.out.println("=== 开始邮件测试 ==="); SimpleMailMessage message = new SimpleMailMessage(); message.setFrom("你的QQ邮箱@qq.com"); // 和配置一致 message.setTo("你的QQ邮箱@qq.com"); // 发给自己 message.setSubject("邮件配置测试"); message.setText("测试成功!"); try { mailSender.send(message); System.out.println("✅ 邮件发送成功!请查收。"); } catch (Exception e) { System.err.println("❌ 发送失败: " + e.getMessage()); e.printStackTrace(); } System.out.println("=== 测试结束 ==="); } }

运行显示测试成功,那么恭喜你,完成了qq邮箱发送消息的配置,可以编写见简单的令牌验证了。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/10 15:49:39

SQL 注入基础:手工注入流程(判断注入点→爆库→爆表→爆数据)

目录 合规免责声明 手工注入核心流程 一、为什么要学手工 SQL 注入&#xff1f; 二、前置准备&#xff1a;靶场环境配置 2.1 环境要求 2.2 核心原理铺垫 三、手工注入全流程实战&#xff08;6 大步骤&#xff09; 步骤 1&#xff1a;判断注入点 —— 确认漏洞是否存在 …

作者头像 李华
网站建设 2026/7/10 12:06:20

【PHP 8.6 JIT性能迷局】:为什么你的FPM进程吃掉2GB内存?

第一章&#xff1a;PHP 8.6 的 JIT 内存占用PHP 8.6 即将引入对 JIT&#xff08;Just-In-Time&#xff09;编译器的进一步优化&#xff0c;但随之而来的内存占用问题也引起了开发者关注。JIT 在提升执行效率的同时&#xff0c;会将部分 PHP 脚本编译为原生机器码&#xff0c;这…

作者头像 李华
网站建设 2026/7/11 14:43:42

RIGOL示波器自研ASIC芯片在DS4000系列中的应用

在高端示波器领域&#xff0c;ASIC&#xff08;Application-SpecificRIGOL示波器IntegratedRIGOL示波器Circuit&#xff0c;专用集成电路&#xff09;芯片的应用已经非常普遍。ASIC芯片可以针对特定应用进行优化设计&#xff0c;从而在性能、功耗和成本等方面实现最佳平衡。近年…

作者头像 李华
网站建设 2026/7/11 13:51:36

农业IoT系统总是掉线?,PHP设备心跳机制设计全解析

第一章&#xff1a;农业IoT系统总是掉线&#xff1f;PHP设备心跳机制设计全解析在农业物联网&#xff08;IoT&#xff09;系统中&#xff0c;传感器设备常部署于偏远农田或温室环境&#xff0c;网络稳定性差、供电波动大&#xff0c;导致设备频繁掉线。若缺乏有效的在线状态监控…

作者头像 李华
网站建设 2026/7/11 2:00:54

Python编程实战:从类与对象到设计优雅代码

「编程类软件工具合集」 链接&#xff1a;https://pan.quark.cn/s/0b6102d9a66a 一、为什么需要面向对象编程&#xff1f; 想象你正在开发一个电商系统&#xff0c;需要管理商品、用户和订单。如果用过程式编程&#xff0c;代码会变成这样&#xff1a; # 过程式电商系统示例…

作者头像 李华
网站建设 2026/7/10 13:28:12

Laravel 13多模态权限架构深度解析(企业级安全控制方案)

第一章&#xff1a;Laravel 13多模态权限架构概述在现代 Web 应用开发中&#xff0c;权限管理是保障系统安全的核心环节。Laravel 13 引入了多模态权限架构&#xff0c;支持基于角色、策略、门面&#xff08;Gates&#xff09;和策略类&#xff08;Policies&#xff09;的复合权…

作者头像 李华