无法使用 Nodemailer 连接到 outlook.com SMTP
我正在创建这样的运输对象。
var transport = nodemailer.createTransport("SMTP", {
host: "smtp-mail.outlook", // hostname
secureConnection: false, // use SSL
port: 587, // port for secure SMTP
auth: {
user: "[email protected]",
pass: "password"
}
});
这是我在尝试发送邮件时遇到的错误。
[错误:139668100495168:错误:1408F10B:SSL 例程:SSL3_GET_RECORD:版本错误 号码:../deps/openssl/openssl/ssl/s3_pkt.c:337:]
当我尝试将 ignoreTLS 设置为 true 时。这就是我得到的
{ [AuthError: Invalid login - 530 5.7.0 必须发出 STARTTLS 命令 first] name: 'AuthError', data: '530 5.7.0 必须发出 STARTTLS 先命令'}
我做错了什么吗?请帮助。
回答如下:我遇到了同样的问题,直到我偶然发现https://github/andris9/Nodemailer/issues/165
尝试添加 tls 密码选项以使用 SSLv3。
var transport = nodemailer.createTransport("SMTP", {
host: "smtp-mail.outlook", // hostname
secureConnection: false, // TLS requires secureConnection to be false
port: 587, // port for secure SMTP
auth: {
user: "[email protected]",
pass: "password"
},
tls: {
ciphers:'SSLv3'
}
});
或者,对于 hotmail/live/outlook,您可以简单地使用
var transport = nodemailer.createTransport("SMTP", {
service: "hotmail",
auth: {
user: "[email protected]",
pass: "password"
}
});