nodemailer 2.x configuration for Office 365 direct send
Solution 1
This works for me:
var transporter = nodemailer.createTransport({
host: 'smtp.office365.com', // Office 365 server
port: 587, // secure SMTP
secure: false, // false for TLS - as a boolean not string - but the default is false so just remove this completely
auth: {
user: username,
pass: password
},
tls: {
ciphers: 'SSLv3'
}
});
You may like to add:
requireTLS: true
Solution 2
var transporter = nodemailer.createTransport({
host: "smtpout.secureserver.net",
port: 587,
secureConnection: false,
secure: false,
requireTLS: true,
auth: {
user: emailUsr,
pass: emailPass
},
tls: {
rejectUnauthorized: false
}
});
You can try with this configuration
Solution 3
A very late answer but if you are using a shared mailbox from Office365, you won't be able to authenticate via SMTP. I also got this error and then realized this.
Refer Can Office365 shared mailbox use SMTP? for information on this.
David Williamson
Updated on July 09, 2022Comments
-
David Williamson almost 2 years
I'm using nodemailer v2.4.2 with node.js v4.4.7 and I want to send emails from my server via my Office 365 SMTP mail server. I'm using the smtpTransport v2.5.0 with this configuration:
var transporter = nodemailer.createTransport(smtpTransport({ host: 'smtp.office365.com', port: 25, // have tried 465 secureConnection: secure, auth: { user: username, pass: password }, tls: { rejectUnauthorized: false // don't verify certificates }, ignoreTLS: false // don't turn off STARTTLS support }));
I've tried specifying an
authMethod
ofLOGIN
andPLAIN
but neither make any difference. When I try and send an email I get an error:[Error: Invalid login: 504 5.7.4 Unrecognized authentication type] code: 'EAUTH', response: '504 5.7.4 Unrecognized authentication type', responseCode: 504
Does anyone have any idea on what authorization type is expected by Office 365 and whether I need to specify any different settings in the nodemailer setup?
-
Lazarus Rising almost 6 yearsThis works, and the explanations were very helpful. thanks
-
vimal prakash almost 4 years
secure:false
and addingrequireTLS: true
works for me, thankyou -
vishal sharma over 2 yearsYou can use the office 365/outlook configuration with node-mailer to send mail using outlook account