gpt4 book ai didi

node.js - Nodemailer Gmail 超时

转载 作者:太空宇宙 更新时间:2023-11-04 02:10:28 25 4
gpt4 key购买 nike

我在向 Gmail 帐户发送电子邮件时遇到问题。我收到超时错误。这让我很困惑,因为我基本上是从之前所做的工作项目中复制了设置。但后来我尝试了工作项目,它给了我同样的错误。据我所知,Nodemailer 的 Gmail 默认端口是 465,它使用 SSL,所以这是打开的。我尝试了三个不同的 Gmail 帐户,其中两个有 2FA,其中一个设置了 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 放入其中时,这个甚至不会触发。

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

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

应该给出一个不错的 200 响应,但事实并非如此,它给了我一个超时。所有其他可用端口都做出相同的响应。我让一个 friend 在他的电脑上尝试一下,对他来说效果很好。所以我回来寻找我的计算机上的问题 - 也许在我的操作系统、 Node 版本上,我们是否以不同的方式设置配置而我没有注意到?我已经没有选择了,所以我在这里寻求帮助。

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

最佳答案

在对我的系统和互联网提供商进行广泛检查后,我发现我的路由器不喜欢我的内部 IP 地址。所以我续签了 DHCL 租赁契约(Contract)。

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

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

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

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

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

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

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

关于node.js - Nodemailer Gmail 超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42483492/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com