How to send an email using nodemailer
New Courses Coming Soon
Join the waiting lists
Here’s how to send an email using nodemailer.
First install it:
npm install nodemailer
Then import it in your Node script or app:
import nodemailer from 'nodemailer'
Initialize a transporter object that we’ll use later to send the email:
const transporter = nodemailer.createTransport({
host: 'smtp.yoursmtpserver.com',
port: 465,
secure: true,
auth: {
user: 'smtp_user',
pass: 'smtp_pass',
},
})
⚠️ NOTE: you need to fill those values with a real SMTP server credentials
Now create an options
object with the details of the email you want to send:
const options = {
from: '[email protected]',
to: '[email protected]',
subject: 'Hi!',
html: `<p>Hello</>`,
}
Finally call the sendMail()
method on the transporter
object you created previously, passing options
and a callback that will be executed when it’s finished:
transporter.sendMail(options, (err, info) => {
if (err) {
console.log(err)
} else {
console.log('EMAIL SENT')
}
})
This also accepts a promise-based syntax:
const info = await transporter.sendMail(options)
Full code:
import nodemailer from 'nodemailer'
const sendEmail = () => {
const transporter = nodemailer.createTransport({
host: 'smtp.yoursmtpserver.com',
port: 465,
secure: true,
auth: {
user: 'smtp_user',
pass: 'smtp_pass',
},
})
const options = {
from: '[email protected]',
to: '[email protected]',
subject: 'Hi!',
html: `<p>Hello</>`,
}
transporter.sendMail(options, (err, info) => {
if (err) {
console.log(err)
} else {
console.log('EMAIL SENT')
}
})
}
→ Get my Node.js Handbook
→ Read my
Node.js Tutorial
on The Valley of Code
Here is how can I help you:
- COURSES where I teach everything I know
- CODING BOOTCAMP cohort course - next edition in 2025
- THE VALLEY OF CODE your web development manual
- BOOKS 17 coding ebooks you can download for free on JS Python C PHP and lots more
- Interesting links collection
- Follow me on X