我在向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响应,但它没有,它给了我一个超时。每个其他可用端口都响应相同。 我让一位朋友在他的电脑上试一试,这对他来说很好。所以我回来在我的计算机上搜索问题 - 也许在我的操作系统,节点版本上,我们是否设置了不同的配置,我没有注意到? 我的选项已经用完了,所以我在这里寻求帮助。
我的防火墙已关闭,在这种情况下没有关于设置额外端口的模糊。
答案 0 :(得分:0)
经过我的系统和我的互联网提供商的广泛检查后,我发现我的路由器不喜欢我的内部IP地址。所以我续签了DHCL租赁。
如果遇到同样的问题,请参阅以下调试提示。
检查病毒:在我对互联网的深入研究中,我发现病毒可以阻止端口的提示。因此,如果您没有扫描仪,请下载扫描仪。
检查防火墙:最常见的问题。我检查了防火墙,发现它已离线。
使用网络实用程序:执行端口扫描并尝试ping IP地址
使用本地电子邮件客户端检查您的电子邮件地址,尝试发送电子邮件。检查传入服务器和传出服务器配置。
检查您的网络:询问您的提供商是否阻止了电子邮件提供商。续订网络配置。
检查您的Google帐户是否阻止了您的IP地址。如果您发送了大量标记为垃圾邮件的电子邮件,或者您的帐户被黑客入侵并被某人用来发送垃圾邮件,则会发生这种情况。