【问题标题】:Nodemailer Gmail timeoutNodemailer Gmail 超时
【发布时间】:2017-02-27 10:35:08
【问题描述】:

我在向我的 Gmail 帐户发送电子邮件时遇到问题。 我收到超时错误。这让我很困惑,因为我基本上是从我之前做的一个工作项目中复制了设置。 但后来我尝试了这个工作项目,它给了我同样的错误。 据我所知,Nodemailer 的 Gmail 默认端口是 465,它使用 SSL,所以它被打开了。 我尝试了三个不同的 Gmail 帐户,两个有 2FA,其中一个设置了 XOAuth,第三个我打开了不太安全的应用程序。一切都因同样的错误而失败。

这里是sn-p的代码,我觉得问题出在:

smtpConfig =
  service: "Gmail"
  connectionTimeout : "7000" #waiting for 60s is annoying
  greetingTimeout : "7000"
#  auth:
#    XOAuth2:
#      user: receiverEmail
##      pass: appSpecificPassword
#      clientId: myClientId
#      clientSecret: itIsMySecret
#      refreshToken: myRefreshToken
  auth:
    user: receiverEmail
    pass: appSpecificPassword
  secure: true # use SSL
  debug: true

我后来把它放到了一个函数中。在这期间我不得不把信封放在一起。

smtpTrans = nodemailer.createTransport(smtpTransport(smtpConfig), ->
   #Setup configs are on top, because we need to config before we use the POST method according to express
)

当您将 console.log 放在那里时,这个甚至不会触发。

在 Nodemailers Github 上,我发现以下内容可以在终端中试用:

openssl s_client -crlf -connect smtp.gmail.com:465

这应该给出一个很好的 200 响应,但它没有,它给了我一个超时。每个其他可用端口都以相同的方式响应。 我请一个朋友在他的电脑上试用它,它对他来说很好用。所以我回来在我的计算机上搜索问题 - 也许在我的操作系统、节点版本上,我们是否以不同的方式设置配置而我没有注意到? 我的选择已经不多了,所以我在这里寻求帮助。

我的防火墙已关闭,在这种情况下无需设置额外端口。

【问题讨论】:

    标签: node.js email gmail nodemailer


    【解决方案1】:

    在与我的系统和互联网提供商进行广泛检查后,我发现我的路由器不喜欢我的内部 IP 地址。所以我更新了我的 DHCL 租约。

    如果您遇到同样的问题,这里有一些调试技巧。

    1. 检查病毒:在我对互联网的深入研究中,我发现了病毒可以阻止端口的提示。因此,如果您没有扫描仪,请下载一个。

    2. 检查您的防火墙: 最常见的问题。我检查了我的防火墙,发现它处于离线状态。

    3. 使用网络实用程序:进行端口扫描并尝试 ping IP 地址

    4. 使用您的本地电子邮件客户端检查您的电子邮件地址,尝试发送电子邮件。检查传入服务器和传出服务器配置。

    5. 检查您的网络:询问您的提供商是否阻止电子邮件提供商。更新您的网络配置。

    6. 检查您的 Google 帐户是否阻止了您的 IP 地址。如果您发送了一堆标记为垃圾邮件的电子邮件,或者您的帐户被黑客入侵并被某人用来发送垃圾邮件,这种情况经常发生。

    【讨论】:

      猜你喜欢
      • 2020-02-10
      • 1970-01-01
      • 2021-11-01
      • 2018-02-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多