Error sending email using nodemailer via Office365 smtp (MEANjs scaffold)
The solution was simple. The 'secure' field should be 'secureConnection'. The MEANjs scaffold that generated the configs created mailer options with the 'secure' field. The rest of the options are fine. For anyone that needs a working Office365 SMTP nodemailer options block, the following should work:
{
host: 'smtp.office365.com',
port: '587',
auth: { user: 'xxxx', pass: 'xxxx' },
secureConnection: false,
tls: { ciphers: 'SSLv3' }
}
This nodemailer documentation https://nodemailer.com/2-0-0-beta/setup-smtp/ indeed states options.secure and not options.secureConnection. It also suggests, in an example, that options.secure is expecting a boolean value true or false and not a string value 'true'
or 'false'
. Removing the ''
from around 'false'
works for me.
I know this is old but if anyone looks this up in 2019, you can just add
service: "Outlook365"
and you won't have to specify connection options.
Node Mailer Docs
let transporter = nodemailer.createTransport({
service: "Outlook365",
auth: {
user: '[email protected]',
pass: 'FROMUSERPASS'
},
})
let info = transporter.sendMail({
from: '[email protected]',
to: '[email protected]',
subject: 'Test',
text: 'hello world',
html: '<h1>TEST</h1>'
})