news 2026/5/9 9:19:12

(小白入门)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/4/28 22:41:02

【医疗数据PHP导出终极指南】:5种高效格式选择与实战代码解析

第一章&#xff1a;医疗数据PHP导出的核心挑战与场景分析在医疗信息化快速发展的背景下&#xff0c;PHP作为广泛应用的后端语言&#xff0c;常被用于构建医院管理系统、电子病历平台等应用。然而&#xff0c;在将敏感且结构复杂的医疗数据导出为Excel、CSV或PDF等格式时&#x…

作者头像 李华
网站建设 2026/4/28 8:21:26

【低代码开发进阶指南】:构建可自动更新PHP组件的4种模式

第一章&#xff1a;低代码 PHP 组件的更新机制在现代 Web 开发中&#xff0c;低代码平台通过封装常用功能为可复用组件&#xff0c;显著提升了开发效率。PHP 作为服务端脚本语言&#xff0c;其组件更新机制直接影响系统的可维护性与稳定性。低代码 PHP 组件通常以独立模块形式存…

作者头像 李华
网站建设 2026/5/8 2:00:45

调试Rust实现的PHP扩展函数,这些坑你不得不防,90%开发者都踩过

第一章&#xff1a;Rust 扩展的 PHP 函数调试概述在现代高性能 Web 开发中&#xff0c;将 Rust 编写的扩展集成到 PHP 中已成为提升关键路径执行效率的重要手段。由于跨语言调用的复杂性&#xff0c;调试此类扩展中的函数变得尤为关键。PHP 通过 FFI&#xff08;Foreign Functi…

作者头像 李华
网站建设 2026/5/2 13:08:39

【QDK扩展开发全攻略】:掌握高效插件架构设计的7大核心原则

第一章&#xff1a;QDK扩展开发概述Quantum Development Kit&#xff08;QDK&#xff09;是微软推出的量子计算开发平台&#xff0c;支持开发者使用 Q# 语言构建量子算法并进行仿真运行。随着量子计算应用场景的不断拓展&#xff0c;原生 QDK 功能已难以满足特定领域需求&#…

作者头像 李华
网站建设 2026/5/3 18:33:23

“Callable和Future:Java多线程编程的秘密武器!”

文章目录“Callable和Future&#xff1a;Java多线程编程的秘密武器&#xff01;”引言为什么需要Callable和Future&#xff1f;Callable&#xff1a;不只是跑得快什么是Callable&#xff1f;Callable的使用示例Callable的优势Future&#xff1a;未来的承诺什么是Future&#xf…

作者头像 李华