Not able to connect to outlook.com SMTP using Nodemailer
Solution 1
I was having the same issue until I stumbled upon https://github.com/andris9/Nodemailer/issues/165
Try adding the tls cipher option to use 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'
}
});
Alternatively, for hotmail/live/outlook you can simply use
var transport = nodemailer.createTransport("SMTP", {
service: "hotmail",
auth: {
user: "[email protected]",
pass: "password"
}
});
Solution 2
let testAccount = await nodemailer.createTestAccount();
let transporter = nodemailer.createTransport({
service: "Outlook365",
host: "smtp.office365.com",
port: "587",
tls: {
ciphers: "SSLv3",
rejectUnauthorized: false,
},
auth: {
user: "**********",
pass: "*******",
},
});
let info = await transporter.sendMail({
from: "********", // sender address
to: to, // list of receivers
subject: subject, // Subject line
html: html, // html body
});
You can use thing configuration for nodemailer with outlook account
Related videos on Youtube
Jeevan
Building the next-generation rules-driven customizable and configurable API Gateway. Previously worked on browser extensions for Chrome, Firefox, Safari and IE.
Updated on July 09, 2022Comments
-
Jeevan almost 2 years
I am creating the transport object like this.
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" } });
This is the error which I am getting, when I try to send the mail.
[Error: 139668100495168:error:1408F10B:SSL routines:SSL3_GET_RECORD:wrong version number:../deps/openssl/openssl/ssl/s3_pkt.c:337: ]
When I tried setting ignoreTLS as true. This is what I am getting
{ [AuthError: Invalid login - 530 5.7.0 Must issue a STARTTLS command first] name: 'AuthError', data: '530 5.7.0 Must issue a STARTTLS command first' }
Am I doing something wrong? Please help.
-
michalstanko almost 9 yearsI think you forgot to remove the first argument, "SMTP", in your
service:"hotmail"
example. -
TFischer about 5 years@michalstanko's comment is no longer valid. You no longer require
SMTP
as the first argument