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

使用Next.js 13.4搭配NodeMailer时出现ESOCKET连接错误

邮件发送失败:ESOCKET连接错误(Next.js 13.4 + Nodemailer)

错误信息

{"message":"Error","error":{"errno":-4039,"code":"ESOCKET","syscall":"connect","address":"40.99.34.150","port":587,"command":"CONN"}}

我的API路由代码(Next.js 13.4)

export async function GET(request: NextRequest) {
    const transporter = nodemailer.createTransport({
        service: "gmail",
        auth: {
            user: "<my-email>",
            pass: "<valid-password-of-the-above-email>",
        },
    });
    const data = {
        from: "<my-email>",
        to: "<other-email>",
        text: "What",
        html: "<html><body>hello</body></html>",
        subject: "hello",
    };
    try {
        await transporter.sendMail(data);
        return NextResponse.json({ message: "OK" }, { status: 200 });
    } catch (error) {
        return NextResponse.json({ message: "Error", error }, { status: 500 });
    }
}

现状说明

已尝试过相关问题的解决方案,但未解决问题,需要可行的修复方案或支持TypeScript + Next.js的邮件工具替代方案。


解决方案建议

1. 排查网络连接问题

ESOCKET错误核心是无法连接到Gmail的SMTP服务器(40.99.34.150:587),先确认:

  • 本地/部署环境的防火墙、代理是否阻止了出站SMTP连接(587端口)
  • 用telnet 40.99.34.150 587或curl telnet://40.99.34.150:587测试连通性

2. 修正Gmail认证配置

Gmail目前不再支持直接使用账号密码进行SMTP认证,需调整为以下方式之一:

  • 启用2FA并创建App密码:开启谷歌账号两步验证后,在账号安全设置中生成专门的App密码,替换代码中的pass字段
  • 使用OAuth2认证:配置Nodemailer的OAuth2客户端,适合更安全的生产环境

3. 调整Nodemailer配置

手动指定SMTP参数,替代service: "gmail"的自动配置,避免解析错误:

const transporter = nodemailer.createTransport({
  host: "smtp.gmail.com",
  port: 587,
  secure: false, // 465端口用true,587用false
  auth: {
    user: "<my-email>",
    pass: "<your-app-password>",
  },
});

4. 部署环境检查

如果是在Vercel等平台部署,确认平台允许出站SMTP连接(Vercel默认支持,但部分小众平台可能有限制)


替代邮件工具推荐

如果Nodemailer配置仍有问题,可尝试以下原生支持TypeScript和Next.js的工具:

  • Resend:API-first的邮件服务,无需配置SMTP,提供Next.js专属SDK,使用简单,适合现代前端项目
  • Postmark:高可靠性的事务邮件服务,有官方TypeScript SDK,文档完善
  • SendGrid:功能丰富的邮件服务,Twilio旗下,提供完整的TypeScript支持,适合批量邮件和事务邮件场景

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 01:45:54