Skip to content
Related Articles

Related Articles

Email Verification using OTP in NodeJS

View Discussion
Improve Article
Save Article
Like Article
  • Difficulty Level : Basic
  • Last Updated : 19 Feb, 2021

This Article speaks about setting up your node.js server for verifying emails via OTP.

Project setup: The name of the package is two-step-auth


npm i --save two-step-auth

Default Usage:

  • Kindly Provide a Company Name so the mail will be treated as important. (This is optional)
  • Import the Auth object from the package and use them as mentioned below.

Folder Structure:

Code Template:

const { Auth } = require("two-step-auth");
async function login(emailId) {
  const res = await Auth(emailId);
  // You can follow this approach,
  // but the second approach is suggested,
  // as the mails will be treated as important
  const res = await Auth(emailId, "Company Name");

  • Once if the operation is success, we will have the OTP in hand, and an Email will be sent to the particular user’s mail ID
  • Custom Email ID usage :
    • Pull the LoginCredentials object from the package and use them as mentioned below
    • Prerequisites for using custom Email ID : 
      • Make sure you have enabled the allow less secure apps for that particular account before executing the function.
      • Turn them Off when not in use.



const { Auth, LoginCredentials } = require("two-step-auth");
async function login(emailId) {
  try {
    const res = await Auth(emailId, "Company Name");
  } catch (error) {
// This should have less secure apps enabled
LoginCredentials.mailID = ""
// You can store them in your env variables and
// access them, it will work fine
LoginCredentials.password = "Your password"
LoginCredentials.use = true;
// Pass in the mail ID you need to verify

We have created an OTP verification service.<


Email Sample: This will received in your given mail Id.

Image as seen on mail

My Personal Notes arrow_drop_up
Recommended Articles
Page :

Start Your Coding Journey Now!