无法使用Nodemailer连接到outlook.com SMTP
我正在创build这样的传输对象。
var transport = nodemailer.createTransport("SMTP", { host: "smtp-mail.outlook.com", // hostname secureConnection: false, // use SSL port: 587, // port for secure SMTP auth: { user: "user@outlook.com", pass: "password" } });
这是我收到的错误,当我试图发送邮件。
[错误:139668100495168:错误:1408F10B:SSL例程:SSL3_GET_RECORD:错误的版本号:../ deps / openssl / openssl / ssl / s3_pkt.c:337:]
当我试图设置ignoreTLS为true。 这是我得到的
{[AuthError:无效login – 530 5.7.0必须首先发出STARTTLS命令]名称:'AuthError',数据:'530 5.7.0必须首先发出STARTTLS命令'}
难道我做错了什么? 请帮忙。
我遇到同样的问题,直到我偶然发现https://github.com/andris9/Nodemailer/issues/165
尝试添加tls cipher选项以使用SSLv3。
var transport = nodemailer.createTransport("SMTP", { host: "smtp-mail.outlook.com", // hostname secureConnection: false, // TLS requires secureConnection to be false port: 587, // port for secure SMTP auth: { user: "user@outlook.com", pass: "password" }, tls: { ciphers:'SSLv3' } });
或者,对于hotmail / live / outlook,您可以简单地使用
var transport = nodemailer.createTransport("SMTP", { service: "hotmail", auth: { user: "user@outlook.com", pass: "password" } });
如果您使用的是Nodemailer 1.x或更高版本,则可以使用:
var transporter = nodemailer.createTransport('smtp://username%40outlook.com:password@smtp-mail.outlook.com');
tls:{密码:'SSLv3'} +1工作
对于第一个agr(“SMTP”,不支持以后的版本,必须降级nodemailler