A simple and lightweight npm package for sending one-time passwords (OTPs) via email using Nodemailer with retry functionality.
- Generate and send one-time passwords (OTPs) via email
- Secure OTP generation using the
crypto
module - Retry sending OTP emails in case of temporary network or email server issues
- Simple and easy to use
- Customizable OTP length and retry behavior
Install the package using npm:
npm install node-otp-sender
import { nodeOtpSender } from 'node-otp-sender';
const config = {
senderEmail: 'your-email@example.com',
senderPassword: 'your-email-password',
recipientEmail: 'recipient-email@example.com',
subject: 'OTP Verification',
length: 4, // Length of the OTP (default is 4)
maxRetries: 3, // Number of retry attempts (default is 3)
retryDelay: 1000 // Delay between retries in milliseconds (default is 1000ms)
};
const sendOtp = async () => {
try {
const response = await nodeOtpSender(config);
console.log(response);
} catch (error) {
console.error('Error:', error);
}
};
sendOtp();
You can customize the retry behavior by adjusting the maxRetries
and retryDelay
parameters in the configuration object. maxRetries
determines the maximum number of retry attempts, and retryDelay
sets the delay between retry attempts.
You can specify the length of the OTP by adjusting the length
parameter in the configuration object. The default length is set to 4 digits, but you can change it to any desired length.
Make sure to replace:
your-email@example.com
with your actual sender email.your-email-password
with the password of your sender email.recipient-email@example.com
with the recipient's email address.OTP Verification
with your desired subject.
If you have any feedback, please reach me at muhammedhanish11@gmail.com or connect with me on LinkedIn.