Files
AIGC/demo/EMAIL_LOGIN_TEST_CHECKLIST.md
AIGC Developer 149b201300 优化邮件发送功能和支付宝支付诊断
- 修复邮件服务区域配置(改为ap-hongkong)
- 增强支付宝支付错误诊断和日志
- 修复代码质量问题(OrderService、ImageToVideoTask)
- 添加支付宝支付问题排查文档
- 增加详细的错误诊断信息
2025-11-03 13:20:30 +08:00

8.5 KiB
Raw Blame History

邮件登录模块测试检查清单

📋 测试前检查

1. 配置检查

当前配置状态:

  • SecretID: AKIDXw8HBtNfjdJm480xljV4QZUDi05wa0DE
  • SecretKey: tZyHMDsKadS4ScZhhU3PYUErGUVIqBIB
  • Region: ap-beijing
  • From-email: newletter@vionow.com
  • Template-id: 154360(生产模式)

需要确认:


2. 服务检查

  • 后端服务是否运行

    # 检查服务是否在运行
    # 访问http://localhost:8080
    
  • 前端服务是否运行

    # 检查前端是否在运行
    # 访问http://localhost:5173
    
  • 数据库是否正常

    • 确认数据库连接正常
    • 确认用户表等表结构存在

3. 测试邮箱准备

  • 准备测试邮箱地址
    • 使用真实的邮箱地址(可以正常接收邮件)
    • 建议使用常用邮箱Gmail、QQ邮箱、163邮箱等
    • 确保可以访问邮箱查看验证码

🚀 测试步骤

步骤1访问登录页面

  1. 打开浏览器访问:http://localhost:5173/login

    • 或访问部署的前端地址
  2. 确认页面显示:

    • 邮箱输入框
    • 验证码输入框
    • "获取验证码"按钮
    • "登录/注册"按钮

步骤2发送验证码

  1. 输入邮箱地址

    • 输入一个有效的邮箱地址(例如:test@example.com
  2. 点击"获取验证码"按钮

    • 观察按钮是否进入60秒倒计时状态
    • 观察是否有成功提示
  3. 检查结果:

    • 成功:显示"验证码已发送到您的邮箱"
    • 失败:检查错误信息
  4. 查看日志(如有错误)

    # 查看后端日志,查找错误信息
    # 可能的问题:
    # - 发信地址未验证
    # - 模板ID无效
    # - 权限不足
    # - 额度不足
    

步骤3接收验证码

当前配置为生产模式template-id=154360会实际发送邮件。

  1. 检查邮箱收件箱

    • 邮件来自:newletter@vionow.com
    • 邮件主题:根据模板配置
    • 邮件内容包含6位数字验证码
  2. 如果未收到邮件:

    • 检查垃圾邮件文件夹
    • 等待1-2分钟邮件发送可能有延迟
    • 检查邮箱是否正确输入
    • 查看后端日志是否有错误

步骤4输入验证码并登录

  1. 输入验证码

    • 输入邮箱中收到的6位数字验证码
  2. 点击"登录/注册"按钮

  3. 检查结果:

    • 成功
      • 跳转到主页或个人中心
      • 显示登录成功提示
      • 浏览器控制台中保存了token
    • 失败:检查错误信息
      • 验证码错误
      • 验证码过期5分钟
      • 其他错误

步骤5验证登录状态

  1. 检查Token是否保存

    • 打开浏览器开发者工具
    • 查看 sessionStoragelocalStorage
    • 确认 tokenuser 信息已保存
  2. 检查用户信息

    • 查看个人中心或用户信息页面
    • 确认邮箱等信息正确显示
  3. 测试自动注册功能

    • 使用一个新的邮箱地址测试
    • 系统应自动创建新用户并登录

🔍 常见问题排查

问题1点击获取验证码后没有反应

可能原因:

  • 前端服务未启动
  • 后端服务未启动
  • 网络连接问题

解决方法:

  1. 检查前端控制台错误信息
  2. 检查后端服务是否运行
  3. 检查API接口地址是否正确

问题2显示"发送失败"或错误信息

可能原因:

  • 发信地址未验证
  • 模板ID无效或未审核
  • SecretID/SecretKey权限不足
  • SES服务额度不足

解决方法:

  1. 检查SES控制台发信地址状态
  2. 检查模板ID是否正确且已审核
  3. 检查API密钥权限
  4. 检查SES服务额度

查看后端日志:

# 查看详细的错误信息
# 常见错误:
# - InvalidParameter.EmailAddressNotVerified发信地址未验证
# - ResourceNotFound.TemplateNotFound模板不存在
# - InvalidSecretId.InvalidSignature密钥错误

问题3收不到邮件

可能原因:

  • 邮箱地址输入错误
  • 邮件被垃圾邮件过滤器拦截
  • 邮件发送延迟
  • 发信地址未验证(生产模式)

解决方法:

  1. 检查邮箱地址是否正确
  2. 检查垃圾邮件文件夹
  3. 等待1-2分钟
  4. 确认发信地址已验证
  5. 查看后端日志确认是否发送成功

问题4验证码验证失败

可能原因:

  • 验证码输入错误
  • 验证码已过期5分钟
  • 验证码已被使用
  • 邮箱地址不匹配

解决方法:

  1. 确认验证码输入正确6位数字
  2. 确认在5分钟内使用
  3. 重新获取验证码
  4. 确认邮箱地址与获取验证码时一致

🧪 测试用例

测试用例1正常登录流程

步骤:

  1. 输入邮箱:test@example.com
  2. 点击"获取验证码"
  3. 等待邮件到达(生产模式)
  4. 输入验证码
  5. 点击"登录/注册"

预期结果:

  • 验证码发送成功
  • 收到邮件
  • 登录成功
  • 跳转到主页

测试用例2自动注册新用户

步骤:

  1. 输入一个从未使用过的邮箱:newuser@example.com
  2. 点击"获取验证码"
  3. 收到验证码后输入
  4. 点击"登录/注册"

预期结果:

  • 系统自动创建新用户
  • 自动登录
  • 用户信息正确保存

测试用例3验证码过期测试

步骤:

  1. 获取验证码
  2. 等待超过5分钟
  3. 输入验证码尝试登录

预期结果:

  • 提示验证码已过期
  • 需要重新获取验证码

测试用例4发送频率限制

步骤:

  1. 点击"获取验证码"
  2. 在60秒内再次点击"获取验证码"

预期结果:

  • 按钮处于倒计时状态,无法点击
  • 或提示"发送过于频繁"

测试用例5邮箱格式验证

步骤:

  1. 输入无效邮箱:invalid-email
  2. 点击"获取验证码"

预期结果:

  • 提示"请输入正确的邮箱地址"

测试完成检查清单

完成测试后,确认以下功能正常:

  • 可以发送验证码
  • 可以收到邮件(生产模式)
  • 可以输入验证码登录
  • 新用户可以自动注册
  • Token正确保存
  • 用户信息正确显示
  • 验证码过期机制正常
  • 发送频率限制正常
  • 邮箱格式验证正常

📝 测试记录模板

测试时间____年__月__日 __:__
测试环境:开发/生产
发信地址状态:已验证/未验证
模板ID状态已审核/未审核

测试邮箱_______________
测试结果:
[ ] 发送验证码成功
[ ] 收到邮件
[ ] 登录成功
[ ] 自动注册成功

遇到的问题:
_________________________________

解决方案:
_________________________________

🚨 重要提醒

生产模式注意事项

当前配置为生产模式template-id=154360会实际发送邮件。

⚠️ 必须确保:

  1. 发信地址 newletter@vionow.com 已验证
  2. 模板ID 154360 已审核通过
  3. SES服务有可用额度
  4. API密钥有SES服务权限

如果发信地址未验证

临时解决方案(仅用于测试): 可以将 template-id 临时改为 0,进入开发模式:

tencent.ses.template-id=0

开发模式下不会实际发送邮件,验证码会在日志中显示。


🔗 相关资源


测试准备完成

配置状态:

  • 所有必需配置已设置
  • ⚠️ 需要确认发信地址已验证
  • ⚠️ 需要确认模板ID已审核

可以开始测试!