使用Nodemailer对接Hostinger SMTP时认证失败问题求助
Hostinger Titan邮箱 + Nodemailer 535认证失败解决办法
针对你遇到的535认证错误,按以下步骤排查:
别用
NEXT_PUBLIC_前缀存敏感信息NEXT_PUBLIC_开头的环境变量会暴露给前端,且服务端可能读取异常。把NEXT_PUBLIC_EMAIL_USERNAME和NEXT_PUBLIC_EMAIL_PASSWORD改成不带前缀的变量(比如EMAIL_USERNAME、EMAIL_PASSWORD),重启服务后再试。也可以先临时硬编码邮箱账号密码测试,排除环境变量加载问题。替换SMTP服务器地址
你登录的是Hostinger的Titan邮箱,对应的SMTP服务器应该是smtp.titan.email,而非smtp.hostinger.com。这大概率是核心问题,修改后配置示例:const transporter = nodemailer.createTransport({ host: "smtp.titan.email", port: 465, secure: true, auth: { user: process.env.EMAIL_USERNAME, pass: process.env.EMAIL_PASSWORD, }, });改用应用专用密码
直接用邮箱登录密码可能无法通过SMTP认证,登录hostinger.titan.email后,进入「设置」→「安全」→「应用专用密码」,生成一个专门给Nodemailer用的密码,替换代码里的密码字段。检查其他配置细节
- 确认邮箱账号是完整地址(比如
info@domain.com,不能只写info) - 移除
tls.rejectUnauthorized: false配置,除非你确认服务器证书有问题,该配置可能干扰正常认证 - 检查Hostinger后台是否开启了SMTP服务,部分套餐需要手动启用
- 确认账号没有触发发送限制(比如单日发送量超限)
- 确认邮箱账号是完整地址(比如
内容的提问来源于stack exchange,提问作者mm da
相关产品推荐
相关产品推荐

