
Halo邮箱验证注册即发验证码把假邮箱挡在门外【免费下载链接】haloHalo 是一款强大易用的开源建站工具从个人博客、知识库到企业官网、在线商城Halo 都能助您轻松实现一站式满足您的多样化建站需求。项目地址: https://gitcode.com/GitHub_Trending/ha/halo给 Halo 装上邮箱验证Email Verification注册和改邮箱时都要输对 6 位验证码证明你确实拥有这个邮箱。配完之后密码重置、评论通知这些邮件才有了可靠的去处。配好邮件渠道SMTP地址、端口、授权码Halo 的验证邮件由通知中心发出简单说通知中心负责决定消息往哪个渠道送邮件渠道则依赖 SMTP——发信邮局参数要向你的邮箱服务商要。后台入口管理后台 → 系统设置 → 通知设置 → 邮件渠道。这里没有邮件选项先装插件。邮件渠道由邮件通知插件提供去 设置 → 插件 列表里找到它装上再回通知设置就能看到 SMTP 表单。端口选 465 还是 587两个都对看服务商支持465 走 SSL加密从建立连接就开始587 走 TLS先明文后升级加密。填错了的典型症状是保存时连接超时以你邮箱服务商的说明为准。授权码和登录密码不是一回事⚠️ 表单里的密码栏填的不是账号密码。QQ 邮箱、163 邮箱都在设置 → 账户安全里单独生成一串授权码也叫客户端授权码填登录密码大概率连接失败。邮件渠道定义、通知设置页源码自定义验证邮件模板默认模板是中文的大致是XX 你好使用下面的动态验证码OTP验证您的电子邮件地址……验证码有效期 10 分钟。想改称呼、改语气用模板变量。模板里能用的三个变量username收信人用户名、code6 位验证码、expirationAtMinutes有效期分钟数。默认模板定义在 notification-templates.yaml 里界面找不到编辑入口时直接看这个文件。走一遍完整验证注册和改邮箱新用户注册即验证打开注册页填用户名、邮箱、密码提交。系统立刻往邮箱发验证码页面提示输入 6 位数字。输对之后用户资料里的emailVerified才置为 true注册才算真正完成。老用户改邮箱要重新验证登录用户中心修改邮箱后原邮箱的验证状态作废页面会要求对新邮箱重新收码验证。这也是防改邮箱劫持的关键设计谁收到新邮箱的验证码谁才算拥有它。✅ 输对验证码后邮箱旁会显示已验证状态这条链路就通了。验证码的规矩10分钟、5次、1小时 这套限制写在 EmailVerificationServiceImpl 里共三条有效期 10 分钟验证码写入缓存后 10 分钟自动清除源码里就一行expireAfterWrite(CODE_EXPIRATION_MINUTES, TimeUnit.MINUTES)同一验证码最多试 5 次错满 5 次该邮箱进入黑名单1 小时内不能再验证重发频率两次发送验证邮件的间隔不小于 1 分钟防止有人刷邮件想调整这些数值默认值通常够用具体改法以官方文档为准邮箱验证设计文档收不到验证邮件三种情况现象点发送验证码收件箱和垃圾箱都没有。根因SMTP 认证失败或端口不通邮件根本没发出去。操作回通知设置核对 SMTP 账号、授权码、端口先测试连接再看服务器日志有没有出站报错。现象提示验证码无效或已过期。根因验证码 10 分钟作废且只对当前请求验证的那个邮箱有效换过邮箱后用旧邮件的码必错。操作点重发10 分钟内把新码输完。现象提示操作过于频繁。根因距上次发送不足 1 分钟或 10 分钟内错满 5 次被临时拉黑。操作等 1 分钟或 1 小时后再试。到这里邮箱验证闭环了。下一步建议把找回密码的邮件渠道也走一遍测试——它和验证邮件走的是同一个通知中心配好一次两个功能都通。【免费下载链接】haloHalo 是一款强大易用的开源建站工具从个人博客、知识库到企业官网、在线商城Halo 都能助您轻松实现一站式满足您的多样化建站需求。项目地址: https://gitcode.com/GitHub_Trending/ha/halo创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考