Node.js nodeEmailer SMTP服务器连接问题(错误:connect-ETIMEDOUT),但它适用于不在我的系统中的其他系统
我正在尝试使用webmail发送节点邮件,而不是使用smtp服务器发送GMail,如下所示Node.js nodeEmailer SMTP服务器连接问题(错误:connect-ETIMEDOUT),但它适用于不在我的系统中的其他系统,node.js,smtp,nodemailer,smtp-auth,Node.js,Smtp,Nodemailer,Smtp Auth,我正在尝试使用webmail发送节点邮件,而不是使用smtp服务器发送GMail,如下所示 // config connections "nodemailer" : { "host": "smtp.in-sciencelabs.com", "port": 587, "auth": { "user&q
// config connections
"nodemailer" : {
"host": "smtp.in-sciencelabs.com",
"port": 587,
"auth": {
"user": "myuser.com",
"pass": "myp@ssword"
}
//在nodeEmailer.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'
}
我在这里尝试,但这不是我的锻炼,而是在另一个系统中发送电子邮件,因此我不知道发送电子邮件的系统中会更改哪些设置。请您帮助我解决此问题,我还将节点版本更改为12.18.3您看过了吗
事实证明,为了让谷歌现在授权第三方服务器通过SMTP访问你的帐户,如果你想使用用户名/密码(),你必须在你的gmail帐户上启用“不太安全的应用程序”
所以你有两个选择:
- 使用OAuth
- 使你的帐户不那么安全
这可能是防火墙问题,问题可以通过在服务器的防火墙设置中启用TCP入站和出站来解决,如果您使用的是digital ocean,那么您可以在面板中的防火墙设置中找到它。听起来好像您的本地网络被堵塞了,或者防火墙阻止了流量。我更新了问题。。。我正在使用webmail服务而不是Gmail。请再次查看问题并验证错误。您是否检查了服务器防火墙设置?或者可能是端口错误、服务器未启动或您没有连接。但我想这是防火墙问题,请连接您的服务器提供商以更改防火墙设置Shere iam更新了我发现的如何发送电子邮件的问题。但不是在我的系统中,在另一个系统中,这正在工作…你能帮我更改哪些更改吗,因为我不知道如何修改系统中的设置来解决这个问题。。。