How to send email with Nodemailer using Gmail account in Node ?
Last Updated :
08 Jan, 2025
Nodemailer is an npm module that allows you to send emails easily from the backend. In this article, we will cover the steps to send email using a Gmail account with the help of nodemailer.
Prerequisites:
Approach
To send email with Nodemailer using gmail
- Import the nodemailer module.
- Use nodemailer.createTransport() function to create a transporter who will send mail. It contains the service name and authentication details (user ans password).
- Declare a variable mailDetails that contains the sender and receiver email id, subject and content of the mail.
- Use mailTransporter.sendMail() function to send email from sender to receiver. If message sending failed or contains error then it will display error message otherwise message send successfully.
Steps to Create the Node Application
Step 1: Initialise the nodejs with the following command to create a package.json file:
npm init -y
Step 2: Installing required modules
npm install express nodemailer -S
Project Structure:

The updated dependencies in package.json file will look like:
"dependencies": {
"express": "^4.18.2",
"nodemailer": "^6.9.8",
}
Example: This example uses nodemainler in node js to sent emails uing the gmail account.
JavaScript
// Filename - index.js
const nodemailer = require('nodemailer');
let mailTransporter =
nodemailer.createTransport(
{
service: 'gmail',
auth: {
user: '[email protected]',
pass: '*************'
}
}
);
let mailDetails = {
from: '[email protected]',
to: '[email protected]',
subject: 'Test mail',
text: 'Node.js testing mail for GeeksforGeeks'
};
mailTransporter
.sendMail(mailDetails,
function (err, data) {
if (err) {
console.log('Error Occurs');
} else {
console.log('Email sent successfully');
}
});
Now open the link https://myaccount.google.com/lesssecureapps to Allow less secure apps: ON. Then use node server.js command to run the above code. It will send the email using gmail account.
Type the following command in terminal to run code:

Sent mail:

Note 1: To use this code in any file we just have to import this file and call send() function.
const mail = require('./config/mailer')();
mail.send();
Note 2: To send HTML formatted text in your email, use the "html" property instead of the "text" property in sendMail function.
{
from:'"admin" ',
to: "[email protected]",
subject:'GeeksforGeeks Promotion',
html:' <p> html code </p>'
}
Note 3: To send an email to more than one receiver, add them to the "to" property in sendMail function, separated by commas.
{
from: '"admin" ',
to: " [email protected], [email protected], [email protected] ",
subject: 'GeeksforGeeks Promotion',
text: 'Check out GeeksforGeeks' + 'best site to prepare for interviews and competitive exams.'
}
Google now have come up with a concept of "Less Secure Apps" which is any application which accepts password as plain text. So to use this the application must have OAuth2 authentication.
Similar Reads
How to send Attachments and Email using nodemailer in Node.js ? For this purpose, we will use a package called nodemailer. It is a module that makes email sending pretty easy. For using it, you will need to install by using the following command:Â $ npm install nodemailer Features of nodemailer module:Â It has zero dependencies and heavy security.You can use it
2 min read
How to write e-mails in HTML and send it using Gmail ? In this article, we are going to learn that how users can write e-mails in HTML format and send them using Gmail. However, Gmail doesn't offer an HTML editor still we can send HTML templates in an e-mail using some tools and methods. Many people need to send an e-mail with HTML templates to others.
3 min read
How to Send Email using 'git send-email' via Gmail? Email communication is a crucial aspect of collaborative software development. Whether you're sharing patches, discussing issues, or coordinating with your team, knowing how to send emails directly from your Git repository can be highly efficient. In this article, we will guide you through the proce
3 min read
How to Send Email using Mailgun API in Node.js ? Sending an email is an essential part of any project and it can be achieved by using Mailgun API. It is very popular for sending emails. Features of Mailgun: . It is easy to get started and easy to use.It is a widely used and popular module for sending emails.Mails can also be scheduled. Installati
2 min read
How to Send Email using NodeJS? Sending emails programmatically is a common requirement in many applications, especially for user notifications, order confirmations, password resets, and newsletters. In this article, we will learn how to build a simple email-sending system using NodeJS. We will use Nodemailer, a popular module for
5 min read