帝国 CMS 会员找回密码
学完这篇,你能让帝国 CMS 的会员在忘记密码时,通过邮箱自助重置,而不用找管理员手动改库。
下面以帝国 CMS 7.5 为例,从后台开关一路走到实测收信。
第一步:确认会员功能和找回密码入口是开着的
这一步要拿到结果:会员中心里「忘记密码」链接能点开,不会跳到 404。
用管理员账号登录后台,地址通常是 你的域名/e/admin/。在左侧菜单里展开 系统 → 系统设置 → 会员设置(部分版本入口在 用户 → 会员管理 → 会员设置,点进去是同一张设置页)。
在这个页面里确认三件事:
- 「是否开启会员功能」为开启状态;
- 与「找回密码 / 取回密码」相关的开关已打开,方式选择「通过邮箱找回」;
- 会员注册时「邮箱」字段为必填(否则后面找不到收件地址)。
保存后,直接访问 你的域名/e/member/GetPassword/,能看到输入用户名和邮箱的表单,说明入口正常。
注意:如果这个地址 404,去服务器上看
e/member/目录下实际的子目录名(不同版本可能叫GetPassword或password),以实际目录为准。
第二步:配好邮箱,否则邮件永远发不出去
这一步要拿到结果:后台能成功往你的测试邮箱发一封信。这是最容易卡住的地方。
进入 系统 → 系统设置 → 邮箱设置,按下面填写(以 QQ 邮箱为例):
- 邮件发送方式:SMTP
- SMTP 服务器:
smtp.qq.com - SMTP 端口:
465 - 是否使用 SSL 加密:是
- SMTP 用户名:你的完整邮箱地址
- SMTP 密码:QQ 邮箱的 16 位授权码
- 发信人邮箱:与上面的账号一致
授权码要去 QQ 邮箱网页版 设置 → 账户 → POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV 服务,开启「IMAP/SMTP 服务」,按提示短信验证后生成。
保存后,页面通常有「发送测试邮件」按钮,填一个收件地址点发送。
注意:这里的密码不是你的 QQ 登录密码,填错了会一直报「SMTP 连接失败」。另外如果服务器禁用了
fsockopen或没装 openssl 扩展,465 端口会连不上,改用587或25端口并关闭 SSL 试试。
第三步:确认会员资料里真的有邮箱
这一步要拿到结果:你测试用的那个会员账号,邮箱字段不是空的。
进入 用户 → 会员管理 → 会员列表,找到测试账号点「修改」,检查邮箱是否已填且拼写正确。老站点里很多会员注册时邮箱是随便填的,这种账号收不到信,属于正常现象。
第四步:完整走一遍找回流程
这一步要拿到结果:用真实会员账号成功重置一次密码。
- 浏览器打开
你的域名/e/member/GetPassword/; - 输入用户名 + 注册邮箱,提交;
- 去邮箱收信,点邮件里的重置链接;
- 在打开的页面输入新密码,提交;
- 回到
你的域名/e/member/用新密码登录。
能登进去,说明整条链路通了。
注意:邮件里的链接带有效期,超时后再点会提示参数错误,重新走一遍第一步即可。
第五步:常见的三个坑
- 收不到邮件:先看邮箱的垃圾箱;再确认第二步的测试邮件能否发出。测试能发、会员收不到,多半是会员邮箱填错。
- 链接域名不对:邮件里如果是
127.0.0.1或旧域名,去 系统 → 系统设置 → 网站参数设置 把「网站地址」改成当前正式域名。 - 想改邮件文案:模板在
e/template/member/目录下,文件名含GetPassword的那个,改前先备份。
小结
- 找回密码能用,前提是三个开关同时成立:会员功能开启、找回方式设为邮箱、SMTP 配置正确。
- SMTP 密码填授权码不是登录密码,端口和 SSL 要配套。
- 邮件链接的域名取自后台「网站地址」,换域名后必须同步改。
- 排查顺序固定:先测发信 → 再查会员邮箱 → 最后看链接域名。
原文链接:https://www.gj0.com/thread-371.html
转载请注明出处并保留本声明;内容仅代表作者观点,与本站立场无关。若本文涉嫌侵权,请联系本站处理。