Nodemailer-SMTP超时-Office365

时间:2018-12-04 12:21:14

标签: javascript node.js smtp office365 nodemailer

我正在尝试对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等其他服务,但在网络内部和外部也都出现了相同的错误。

2 个答案:

答案 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。然后确保您的配置电子邮件与 authdatapostman 的电子邮件相同。