3.6 KiB
3.6 KiB
前端邮件功能测试指南
问题修复说明
修复的问题
- 响应拦截器问题:修复了
api.js中响应拦截器直接返回response.data导致前端无法正确访问response.data.success的问题 - API响应格式不匹配:现在前端代码可以正确处理后端返回的响应格式
修复内容
在 src/utils/api.js 文件中:
// 修复前
api.interceptors.response.use(
(response) => {
return response.data; // 这里直接返回了data,导致前端无法访问response.data.success
},
// ...
);
// 修复后
api.interceptors.response.use(
(response) => {
return response; // 现在返回完整的response对象
},
// ...
);
测试步骤
1. 启动服务
确保以下服务正在运行:
- 后端服务:
http://localhost:5000 - 前端服务:
http://localhost:3001
2. 测试注册功能
- 打开浏览器访问
http://localhost:3001 - 点击登录按钮或直接访问
/login页面 - 切换到「注册」标签
- 填写以下信息:
- 邮箱:输入有效的QQ邮箱(如:your_qq@qq.com)
- 用户名:输入用户名
- 密码:输入密码(至少6位)
- 确认密码:再次输入相同密码
- 点击「发送验证码」按钮
- 检查是否显示成功提示:"验证码已发送到您的邮箱"
- 检查邮箱是否收到验证码邮件
- 输入收到的验证码
- 点击「注册」按钮完成注册
3. 测试登录功能(验证码登录)
- 在登录页面选择「验证码登录」
- 输入已注册的QQ邮箱
- 点击「发送验证码」按钮
- 检查是否显示成功提示
- 检查邮箱是否收到登录验证码
- 输入验证码并点击「登录」
4. 测试登录功能(密码登录)
- 在登录页面选择「密码登录」
- 输入邮箱和密码
- 点击「登录」按钮
预期结果
成功的表现
- ✅ 点击「发送验证码」后显示绿色成功提示
- ✅ 倒计时正常显示(60秒)
- ✅ 邮箱收到格式正确的验证码邮件
- ✅ 后端日志显示:"验证码邮件发送成功: your_email@qq.com"
- ✅ 验证码验证成功,注册/登录流程完整
失败的表现
- ❌ 显示红色错误提示
- ❌ 邮箱未收到验证码
- ❌ 后端日志显示SMTP错误
技术细节
API调用流程
- 前端调用
authAPI.sendVerification(data) - 请求发送到
/api/auth/send-verification - 后端处理邮件发送
- 返回响应格式:
{ success: true/false, message: "...", data: {...} } - 前端通过
response.data.success判断是否成功
环境变量要求
确保后端设置了正确的环境变量:
MAIL_USERNAME=your_qq_email@qq.com
MAIL_PASSWORD=your_qq_auth_code
故障排除
如果仍然无法发送邮件
- 检查后端环境变量是否正确设置
- 确认QQ邮箱已开启SMTP服务并获取授权码
- 检查网络连接是否正常
- 查看浏览器开发者工具的Network标签,确认API请求状态
- 查看后端控制台日志,确认具体错误信息
常见错误
- 535 Authentication failed:QQ邮箱授权码错误
- Network Error:前后端连接问题
- Timeout:网络超时或SMTP服务器响应慢
注意事项
- 仅支持QQ邮箱系列(qq.com、vip.qq.com、foxmail.com)
- 验证码有效期为10分钟
- 同一邮箱60秒内只能发送一次验证码
- 验证码最多尝试5次
修复完成时间:2025年9月2日
修复内容:API响应拦截器格式问题
测试状态:✅ 后端功能正常,前端API调用已修复