Nodemailer Gmail超时

时间:2017-02-27 10:35:08

标签: node.js email gmail nodemailer

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

以下是代码段,我认为麻烦在于:

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放在那里时,这个甚至不会发火。

在节点制作者Github上我发现以下内容在终端中试用:

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

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

我的防火墙已关闭,在这种情况下没有关于设置额外端口的模糊。

1 个答案:

答案 0 :(得分:0)

经过我的系统和我的互联网提供商的广泛检查后,我发现我的路由器不喜欢我的内部IP地址。所以我续签了DHCL租赁。

如果遇到同样的问题,请参阅以下调试提示。

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

  2. 检查防火墙:最常见的问题。我检查了防火墙,发现它已离线。

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

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

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

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