我正在尝试对Office365邮件的nodemailer使用SMTP连接。
当我尝试发送邮件时,它会引发此错误-
错误:连接ETIMEDOUT xx.xxx.xxx.xxx:587 在TCPConnectWrap.afterConnect上[完成时](net.js:1161:14) errno:“ ETIMEDOUT”, 代码:“ ECONNECTION”, syscall:“连接”, 地址:“ xx.xxx.xxx.xxx”, 端口:587
这不是代理问题,因为我在网络外部尝试过,它也会引发相同的错误。
`
var nodemailer = require('nodemailer');
var transporter = nodemailer.createTransport({
host: 'smtp.office365.com',
secure: false,
auth: {
user: "xxxxx@xxx.com",
pass: "xxxxx"
},
tls: {
ciphers: 'SSLv3'
}
});
var message = {
from: 'Sender Name <xxx@xxx.com>',
to: '"Receiver Name" <xxx@xxx.com>',
subject: 'Nodemailer',
text: 'Hello to myself!'
};
transporter.sendMail(message, function(error, response) {
if (error) {
console.log('Error occured');
res.end("<html><body><h1>error</h1></body></html>");
console.log(error);
return;
} else {
console.log(response);
res.end("<html><body><h1>success</h1></body></html>");
console.log('Message sent successfully!');
}
});
`
我尝试了Gmail等其他服务,但在网络内部和外部也都出现了相同的错误。
答案 0 :(得分:0)
您是否具有阻止端口的本地防火墙或防病毒产品?我的公司通常阻止计算机在公用SMTP端口上建立出站连接,因为它是公用的多邮件病毒传播路径。 smtp.office365.com在端口25和587上都响应了我知道能够启动出站SMTP通信的主机。
[~]# nmap -p25,587 smtp.office365.com
Starting Nmap 7.60 ( https://nmap.org ) at 2018-12-04 10:39 EST
Nmap scan report for smtp.office365.com (40.97.170.178)
Host is up (0.027s latency).
PORT STATE SERVICE
25/tcp open smtp
587/tcp open submission
答案 1 :(得分:0)
这可能有点晚了,但对未来的其他人来说更是如此。
超时的常见原因是您必须启用 SMTP,如果使用 Mac 可以通过 PowerShell 完成,然后查看 here。如果您使用的是 mac,则必须安装 WSman,因为它没有附带 powershell。在端口 587
上运行。将 secure
设置为 false
。然后确保您的配置电子邮件与 auth
和 data
中 postman
的电子邮件相同。