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

Node.js本地可正常发邮件,后端部署时遇535邮箱密码验证失败

问题:本地可正常发邮件,部署到服务器后出现535-5.7.8认证失败错误

我的Node.js代码在localhost环境能正常发送邮件,但部署到后端服务器时,弹出「535-5.7.8 Username and Password not accepted」错误,提示邮箱和密码无效。相关代码如下:

const nodemailer = require("nodemailer");

const sendEmail = async (subject, message, send_to, sent_from, reply_to) => {

    // Create Email Transporter
    const transporter = nodemailer.createTransport({
        host: process.env.EMAIL_HOST,
        port: 465,
        secure: true,
        auth: {
            user: process.env.EMAIL_USER,
            pass: process.env.EMAIL_PASS,
        },
    
    });
    // Options for sending email
    const options = {
        from: sent_from,
        to: send_to,
        reply_to: reply_to,
        subject: subject,
        html: message,
    };

    // Check email sent successfully or not
    transporter.sendMail(options, function (err, info) {
        if (err) {
            console.log(err);
        } else {
            console.log(info);
        }
    });

};

module.exports = sendEmail;
解决方案
  • 检查服务器环境变量配置
    本地的.env文件已经配好EMAIL_USER和EMAIL_PASS,但部署到服务器后,必须确认服务器上的环境变量是正确设置的——没有拼写错误、多余空格,密码要用原始明文(别填加密后的)。可以临时在代码里打印这两个变量的值,确认没问题后再删掉打印代码。

  • 开启邮箱第三方应用权限
    大部分邮箱服务商(比如Gmail、QQ邮箱、163邮箱)默认会拒绝非官方客户端的登录请求,得手动开启「POP3/SMTP服务」,并且用专用授权码代替登录密码:

    • Gmail:先开启两步验证,再生成应用专用密码;别用已淘汰的“不太安全的应用访问”选项。
    • QQ/163邮箱:在邮箱设置里开启SMTP服务,获取授权码,把EMAIL_PASS的值换成这个授权码。
  • 排查服务器IP是否被拉黑
    有些服务器的IP可能被邮箱服务商归到了垃圾IP池,导致认证失败。可以试试换服务器IP,或者联系邮箱服务商申诉解除限制;也可以直接改用SendGrid、Mailgun这类第三方邮件服务,跳过个人邮箱SMTP的限制。

  • 核对SMTP配置参数
    确认服务器上的EMAIL_HOST是否正确,比如Gmail是smtp.gmail.com,QQ邮箱是smtp.qq.com。你代码里用的端口465搭配secure: true是对的,不用改。

  • 优化代码的错误捕获逻辑
    你的函数声明是async,但sendMail用的是回调函数,改成await方式能更清晰地捕获错误,方便排查问题:

try {
    const info = await transporter.sendMail(options);
    console.log(info);
} catch (err) {
    console.error(err);
}

内容的提问来源于stack exchange,提问作者SUBASISH MULA

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 01:55:34