https://github.com/muhdhanish/node_otp_sender
Node OTP Sender is a lightweight npm package for generating and sending one-time passwords (OTPs) via email using Nodemailer. It provides a simple and easy-to-use API for integrating OTP functionality into your Node.js applications.
https://github.com/muhdhanish/node_otp_sender
html javascript node-package-manager nodejs nodemailer npm-package otp-generator otp-verification package security
Last synced: 7 months ago
JSON representation
Node OTP Sender is a lightweight npm package for generating and sending one-time passwords (OTPs) via email using Nodemailer. It provides a simple and easy-to-use API for integrating OTP functionality into your Node.js applications.
- Host: GitHub
- URL: https://github.com/muhdhanish/node_otp_sender
- Owner: MuhdHanish
- License: mit
- Created: 2023-07-08T16:15:37.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2025-02-05T14:51:17.000Z (about 1 year ago)
- Last Synced: 2025-06-26T11:56:00.407Z (8 months ago)
- Topics: html, javascript, node-package-manager, nodejs, nodemailer, npm-package, otp-generator, otp-verification, package, security
- Language: TypeScript
- Homepage: https://www.npmjs.com/package/node-otp-sender
- Size: 29.3 KB
- Stars: 0
- Watchers: 1
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: readme.md
- License: LICENSE
Awesome Lists containing this project
README
# Node OTP Sender
[](https://opensource.org/licenses/MIT)
[](https://www.npmjs.com/package/node-otp-sender)
A simple and lightweight npm package for sending one-time passwords (OTPs) via email using Nodemailer with retry functionality.
## Features
- 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
## Installation
Install the package using npm:
```bash
npm install node-otp-sender
```
## Usage
```typescript
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();
```
## Customizing Retry Behavior
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.
## Customizing OTP Length
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.
## Feedback
If you have any feedback, please reach me at [muhammedhanish11@gmail.com](mailto:muhammedhanish11@gmail.com) or connect with me on [LinkedIn](https://www.linkedin.com/in/muhdhanish/).