如何用Nodemailer对接Hostinger企业邮箱发邮件?认证失败求助
Hostinger SMTP + Nodemailer 535 认证失败解决办法
以下是针对你遇到的「Invalid login: 535 5.7.8 Error: authentication failed」问题的快速排查和解决步骤:
核对SMTP端口与协议的正确组合
Hostinger的SMTP有两组标准配置,之前的尝试可能没匹配正确:- 若用465端口:必须保持
secure: true,无需额外TLS配置 - 若用587端口:需设置
secure: false且开启requireTLS: true,配置示例:host: "smtp.hostinger.com", port: 587, secure: false, requireTLS: true, auth: { user: process.env.GRIEVANCE_EMAIL, pass: process.env.GRIEVANCE_EMAIL_PASSWORD, },
- 若用465端口:必须保持
确认环境变量加载无误
别只依赖.env文件,在代码中临时添加日志,验证变量是否正确读取:// 调试用,测试完可以删掉 console.log("Loaded email user:", process.env.GRIEVANCE_EMAIL); console.log("Password length:", process.env.GRIEVANCE_EMAIL_PASSWORD?.length);常见坑:变量名拼写错误、.env文件路径不对、项目没安装dotenv依赖导致变量未加载。
改用Hostinger应用专用密码
网页邮箱能登录不代表SMTP可以用普通密码,Hostinger对第三方应用可能强制要求专用密码:- 登录Hostinger hPanel,找到目标邮箱账户
- 进入「Security」标签页,找到「App Passwords」选项
- 创建一个新的专用密码(命名为Nodemailer即可)
- 将这个专用密码替换.env文件中的邮箱密码,重新测试发送
检查Hostinger账户限制
- 确认你的Hostinger套餐支持SMTP发送功能(部分基础套餐有发送量或权限限制)
- 查看邮箱的「Logs」记录,排查是否有账户异常、发送量超限等拦截情况
临时关闭本地拦截工具
本地防火墙、VPN、代理工具可能会干扰SMTP连接,导致认证请求失败,先关闭这类工具再测试。
内容的提问来源于stack exchange,提问作者Mouzin Gulzar
相关产品推荐
相关产品推荐

