繁体   English   中英

nodemailer SMTP 服务器连接问题(错误:连接 ETIMEDOUT)但它适用于不在我的另一个系统

[英]nodemailer SMTP server connection issue (Error: connect ETIMEDOUT) but it works for another system not in mine

我正在尝试使用 webmail 而不是 GMail 使用 smtp 服务器发送节点邮件,如下所示..

// config connections
"nodemailer" : { 
         
         "host": "smtp.in-sciencelabs.com",
         "port": 587,
        "auth": {
        "user": "myuser.com", 
        "pass": "myp@ssword"
    }

// 在 nodemailer.js 代码中,我正在导入配置详细信息....

const transporter=
nodemailer.createTransport(smtpTransport((config["nodemailer"])));
     var mailOptions = {
               from: `${config["nodemailer"]["user"]}`,
               to: tomail,
               subject: subject ,
               text: data
             };
             transporter.verify(function(error, success) {
               if (error) {
                 console.log(error,"17");
               } else {
                 console.log("Server is ready to take our messages");
               }
             });

我试图验证连接,所以它显示这样的错误

(Error: connect ETIMEDOUT)***.**.***.***:587
    at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1146:16) {
  errno: -4039,
  code: 'ECONNECTION',
  syscall: 'connect',
  address: 'xxx.xx.xxx.xxx',
  port: 587,
  command: 'CONN'
}

我在这里尝试这个,但它对我来说不是锻炼,但在另一个系统中正在发送电子邮件,所以我不知道发送 email 的系统中哪个设置会改变,你能帮我解决这个问题吗?我也将节点版本更改为12.18.3

你有没有看过这个答案

事实证明,为了让 Google 现在授权第三方服务器通过 SMTP 访问您的帐户,如果您想使用用户名/密码(更多信息在这里),您必须在您的 gmail 帐户上启用“安全性较低的应用程序”。

所以你有两个选择:

  • 使用 OAuth

  • 降低您的帐户安全性

您还需要检查您的服务器防火墙设置,这可能是防火墙问题,可以通过在服务器上的防火墙设置中启用 TCP 入站和出站来解决问题,如果您使用的是数字海洋,那么您可以在面板的防火墙设置中找到它

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM