one.com 域电子邮件 SMTP 请求无法从 render.com 服务器工作

问题描述 投票:0回答:1

我在 render.com 上运行 Express JS 服务器,负责触发对电子邮件服务的 SMTP 调用。电子邮件服务托管在 one.com(具有自定义域)。

我正在使用 nodemailer 来处理我的 SMTP 调用,如下所示:

app.post("/send-mail", validate(schema), (req, res) => {
  console.log("sending email...");
  let transporter = nodemailer.createTransport({
    host: process.env.REACT_APP_HOST,
    port: process.env.PORT,
    auth: {
      user: process.env.REACT_APP_EMAIL_LOGIN,
      pass: process.env.REACT_APP_EMAIL_PASS,
    },
  });

在本地运行 Express JS 服务器时效果很好 - 我成功收到了测试电子邮件。但是一旦我从 Render.com 执行相同操作,我就会收到超时错误:

Error: Connection timeout
    at SMTPConnection._formatError (/opt/render/project/src/node_modules/nodemailer/lib/smtp-connection/index.js:790:19)
    at SMTPConnection._onError (/opt/render/project/src/node_modules/nodemailer/lib/smtp-connection/index.js:776:20)
    at Timeout.<anonymous> (/opt/render/project/src/node_modules/nodemailer/lib/smtp-connection/index.js:235:22)
    at listOnTimeout (node:internal/timers:573:17)
    at process.processTimers (node:internal/timers:514:7) {
  code: 'ETIMEDOUT',
  command: 'CONN'
}

不确定是什么问题。应该尝试将域名转移到另一个域名提供商,还是 Render.com 有问题?

我尝试在 Render.com 上运行 Express JS 服务器,并期望 SMTP 调用会成功,就像从本地主机触发时一样。设置完全相同,但我得到两个不同的结果。

javascript node.js express nodemailer
1个回答
0
投票

我通过实现不同的 SMTP 提供程序找到了一个解决方案,而不是使用 nodemailer,我使用 sendgrid.com 并且现在一切正常。

© www.soinside.com 2019 - 2024. All rights reserved.