This npm module provides functions to generate one-time passwords (OTPs) and send them via email using Nodemailer with custom subject and htmlContent.
To install the OTP Email Sender module, run the following command:
npm install otpwizard
const otpwizard = require('otpwizard');
// Example usage of generating OTP and sending email
const recipientEmail = '[email protected]';
//Create htmlTemplate which is an Jsx component just add $otp where otp needed to display
const htmlTemplate = (otp) => `
<p>Your OTP is: <strong>${otp}</strong></p>
<p>This OTP is valid for a limited time. Please do not share it with anyone.</p>
`;
//Create EmailObj so that you can send Email with Custom subject and htmlContent
const EmailObj = {
subject: "Your One-Time Password IS this please Verify",
emailInput:recipientEmail,
htmlContent,
};
otpwizard.sendEmail(6, EmailObj);
Before using the OTP Email Sender module, ensure that you have created a .env
file in the root directory of your project with the following environment variables:
[email protected]
GMAIL_PASS=your-gmail-password
Make sure to replace [email protected]
and your-gmail-password
with your actual Gmail username and password. These credentials will be used to authenticate with the Gmail SMTP server for sending emails.
subject
: Custom subject for emailrecipient
: The email address of the recipient.htmlContent(otp)
: A function that takes the OTP as an argument and returns the HTML content of the email.
Sends an email containing a dynamically generated OTP to the specified recipient.
otplength
: The length of the OTP to generate.EmailObj
: A Object Which Contains Subject,recipientEmail,htmlContent(otp).
Verifies whether the provided OTP matches the expected OTP.
providedOTP
: The OTP provided by the user.expectedOTP
: The expected OTP to compare against.
Returns true
if the provided OTP matches the expected OTP, otherwise returns false
.
For testing the functionality of otpwizard, you can use the provided backend test repository. This repository includes endpoints for sending OTP emails and verifying OTPs, providing a comprehensive testing environment for the package.
Check out the test repository here: OTPWizard Backend Test Repo
Contributions are welcome! If you have any suggestions, bug reports, or feature requests, please open an issue or submit a pull request.