Halo 邮箱验证 3 步配通:SMTP 设置、模板修改与收不到邮件的排查
Halo 邮箱验证 3 步配通SMTP 设置、模板修改与收不到邮件的排查【免费下载链接】haloHalo 是一款强大易用的开源建站工具从个人博客、知识库到企业官网、在线商城Halo 都能助您轻松实现一站式满足您的多样化建站需求。项目地址: https://gitcode.com/GitHub_Trending/ha/halo 新用户填完注册页提交收件箱却空空如也——验证邮件发不出去多半卡在 SMTP 配置或频率限制。这篇文章带你用 3 步配通 Halo 邮箱验证并给出验证邮件收不到时的快速排查路径。动手前的自检配置开始之前对照下面这张清单确认前置条件缺一项都可能在最后一步卡住自检项要求SMTP 服务有可用的邮箱服务商QQ 邮箱、企业邮箱等服务器地址与端口服务商提供465 对应 SSL587 对应 TLS授权码用服务商生成的授权码不是邮箱登录密码后台权限你有管理员账号能进入系统设置系统时间同步服务器时间与真实时间一致验证码依赖时间过期① 进入系统设置打开邮箱验证入口操作路径登录 Halo 管理后台依次进入「系统设置」→「安全」→「邮箱验证」页签。该入口属于系统设置模块前端源码目录为 ui/console-src/modules/system/settings/。关键填写项先打开开关启用邮箱验证功能页面会展开 SMTP 配置表单。成功判断标志页面完整显示 SMTP 表单和测试发送按钮且点击测试后提示发送成功、无报错。② SMTP 服务器参数怎么填操作路径在邮箱验证表单中逐项填写发件账号信息。这些表单字段由扩展配置文件 application/src/main/resources/extensions/notification.yaml 定义。关键填写项参数示例值说明SMTP 服务器地址smtp.qq.com邮箱服务商提供端口465465 走 SSL587 走 TLS加密方式SSL可选 SSL / TLS / 不加密用户名exampleqq.com发件邮箱账号密码授权码xxxxxxx服务商授权码非登录密码显示名称Halo 博客收件箱里看到的发件人名称成功判断标志点击测试后收件邮箱真实收到一封测试邮件发件人名称显示为你填写的显示名称。③ 验证邮件模板怎么改操作路径验证邮件内容由模板渲染内置模板位于 application/src/main/resources/extensions/notification-templates.yaml支持 3 个变量{{username}}请求验证的用户名{{code}}6 位验证码{{expirationAtMinutes}}验证码有效期分钟成功判断标志用真实邮箱注册一个新账号邮件 10 分钟内送达填入邮件中的 6 位验证码后页面提示邮箱验证成功后台用户列表中该用户的邮箱状态变为已验证。⚠️ 验证邮件发不出来时怎么排查先记住 Halo 的限流默认值验证码有效期 10 分钟每个验证码最多尝试 5 次两次发送请求间隔不得小于 1 分钟每小时最多约 30 次连续 5 次失败会被拉黑 1 小时。遇到问题对照下表现象常见原因处理动作收不到邮件端口与加密方式不匹配被判定为垃圾邮件服务器出站端口被拦截先查垃圾邮件文件夹若测试发送也失败检查服务器到 465/587 端口的出站连接验证码过期或无效超过 10 分钟有效期服务器系统时间不同步重新发送验证邮件在 10 分钟内输入核对服务器时间同步状态提示操作过于频繁两次请求间隔不足 1 分钟10 分钟内失败 5 次触发 1 小时拉黑等待至少 1 分钟再重发连续输错 5 次后需等 1 小时核心校验逻辑在 EmailVerificationServiceImpl排查异常时可参考该文件的提示文案。进阶调优两个最实用的可调项验证码有效期默认 10 分钟由EmailVerificationServiceImpl中的CODE_EXPIRATION_MINUTES常量控制需要更长有效期时修改后重新编译。邮件文案在模板文件中改写rawBody例如你的验证码{{code}}{{expirationAtMinutes}} 分钟内有效。30 秒自查清单测试发送能否成功发出端口与加密方式是否匹配465SSL / 587TLS是否使用了服务商授权码而非登录密码新用户的验证邮件是否在 10 分钟内送达后台用户列表中邮箱状态是否变为已验证更多机制细节可查阅官方设计文档docs/email-verification/README.md。下一篇预告如何自定义 Halo 通知模板把评论与回复也推送到邮箱。【免费下载链接】haloHalo 是一款强大易用的开源建站工具从个人博客、知识库到企业官网、在线商城Halo 都能助您轻松实现一站式满足您的多样化建站需求。项目地址: https://gitcode.com/GitHub_Trending/ha/halo创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考