You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

重置密码功能报错:邮件服务密码缺失及Google认证失败求助

问题分析与解决方案

一、解决「Email service password is missing」报错

  • 核对.env配置
    确认项目根目录的.env文件中,SERVICE_PASS变量定义正确,格式为:SERVICE_PASS=你的邮箱服务密码,注意无多余空格、大小写匹配。
  • 确保环境变量加载
    在forget_password_r.js文件顶部加载dotenv(如果用的是CommonJS):
    require('dotenv').config();
    
    若为ES模块:
    import dotenv from 'dotenv';
    dotenv.config();
    
    可在使用密码的位置添加日志,验证变量是否正常读取:
    console.log('Loaded Service Password:', process.env.SERVICE_PASS);
    
  • 检查变量引用拼写
    定位到sendResetEmail函数第85行,确认使用的密码变量是process.env.SERVICE_PASS,无拼写错误(比如误写为SERVICE_PASSWORD)。

二、解决Google邮箱「535-5.7.8 Username and Password not accepted」错误

若使用Gmail作为邮件服务,按以下步骤处理:

  • 使用App密码(推荐生产环境)
    1. 确保Google账号已开启两步验证
    2. 进入账号安全设置,找到「应用密码」,生成一个专属密码,替换.env中的SERVICE_PASS
  • 临时开启低安全性应用访问(仅测试用)
    登录Google账号安全设置,开启「低安全性应用访问」(生产环境禁止使用,存在安全风险)
  • 核对SMTP配置
    确认SMTP服务器地址为smtp.gmail.com,端口用587(TLS)或465(SSL),邮箱用户名是完整的Gmail地址(如xxx@gmail.com)
  • 排查网络限制
    检查本地或服务器防火墙是否拦截了587/465端口的出站连接

额外验证点

确认sendResetEmail函数中,邮件客户端(如Nodemailer)的auth.pass字段正确传入了process.env.SERVICE_PASS,无参数传递错误。

内容的提问来源于stack exchange,提问作者Luka Guledani

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 07:31:03