使用Nodemailer连接Hostinger邮箱失败,请求解决连接错误
解决Nodemailer对接Hostinger邮箱的连接问题
可行的排查与解决步骤:
1. 核对Hostinger官方SMTP配置参数
Hostinger官方指定的SMTP核心参数为:
- 主机:
smtp.hostinger.com - 端口:465(SSL加密)/ 587(TLS加密)
- 加密规则:465对应
secure: true;587对应secure: false,但需强制开启TLS升级
2. 调整Transporter配置代码
针对587端口连接被关闭的问题,需添加requireTLS: true强制启用TLS加密,同时可临时关闭证书验证排查证书问题,修改后的代码如下:
const nodemailer = require("nodemailer"); // 无需创建测试账户,直接使用真实邮箱配置 let transporter = nodemailer.createTransport({ host: "smtp.hostinger.com", port: 587, secure: false, requireTLS: true, // 关键:强制将连接升级为TLS auth: { user: "你的Hostinger邮箱地址", pass: "邮箱应用专用密码", // 注意:非Hostinger面板登录密码 }, tls: { // 临时关闭证书验证(仅用于排查,生产环境不推荐) rejectUnauthorized: false } }); transporter.verify(function (error, success) { if (error) { console.log(error); } else { console.log("Server is ready to take our messages"); } });
3. 确认使用应用专用密码
若你的Hostinger邮箱开启了双因素认证,必须使用应用专用密码登录SMTP;未开启双因素认证也建议生成应用密码测试,避免因面板密码复杂度或权限限制导致连接失败。
4. 检查端口出站权限
- 服务器端:确认云服务商或服务器防火墙未封禁465、587端口,需在防火墙规则中放行这两个出站端口
- 本地环境:检查杀毒软件、系统防火墙是否拦截了Nodemailer的出站请求
5. 核对域名DNS配置
确保你的域名MX记录正确指向Hostinger的邮件服务器,错误的DNS配置会导致SMTP连接无法正常路由。
内容的提问来源于stack exchange,提问作者Saybers
相关产品推荐
相关产品推荐

