Не удалось подключиться к outlook.com SMTP с помощью Nodemailer
Я создаю объект транспорта следующим образом.
var transport = nodemailer.createTransport("SMTP", {
host: "smtp-mail.outlook.com", // hostname
secureConnection: false, // use SSL
port: 587, // port for secure SMTP
auth: {
user: "[email protected]",
pass: "password"
}
});
Это ошибка, которую я получаю, когда пытаюсь отправить почту.
[Ошибка: 139668100495168: ошибка: 1408F10B: SSL подпрограммы: SSL3_GET_RECORD: неправильная версия number:../deps/openssl/openssl/ssl/s3_pkt.c: 337:]
Когда я попытался установить ignoreTLS как true. Это то, что я получаю
{[AuthError: Неверный вход - 530 5.7.0 Должен выдавать команду STARTTLS first] name: 'AuthError', data: '530 5.7.0 Должен выдавать STARTTLS сначала команда "}
Я что-то делаю неправильно? Пожалуйста, помогите.
Ответы
Ответ 1
У меня была такая же проблема, пока я не наткнулся на 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: "[email protected]",
pass: "password"
},
tls: {
ciphers:'SSLv3'
}
});
В качестве альтернативы, для hotmail/live/outlook вы можете просто использовать
var transport = nodemailer.createTransport("SMTP", {
service: "hotmail",
auth: {
user: "[email protected]",
pass: "password"
}
});
Ответ 2
Если вы используете Nodemailer 1.x или более, вы можете использовать:
var transporter = nodemailer.createTransport('smtp://username%40outlook.com:[email protected]');
Ответ 3
tls: { шифры: 'SSLv3' }
+1 работает
и для первого agr ( "SMTP", не поддерживает более позднюю версию, нужно будет отказаться от nodemailler