saksh-mailer
v1.0.1
Published
This package provides utility functions for sending and validating emails in batches using Node.js and `nodemailer`.
Downloads
10
Maintainers
Readme
Email Utility Package
This package provides utility functions for sending and validating emails in batches using Node.js and nodemailer
.
Functions
sakshSendEmail(to, subject, message, config)
Sends an email.
Parameters:
to
(string): The recipient's email address.subject
(string): The subject of the email.message
(string): The body of the email.config
(object): The configuration object for the email service.host
(string): The SMTP server host.port
(number): The SMTP server port.secure
(boolean): Whether to use SSL.user
(string): The SMTP server username.pass
(string): The SMTP server password.
Returns:
Promise<void>
sakshSendEmailsBatch(emailAddresses, subject, message, configs)
Sends multiple emails in batch using one or multiple SMTP server configurations.
Parameters:
emailAddresses
(Array): Array of email addresses.subject
(string): The subject of the email.message
(string): The body of the email.configs
(object|Array): A single configuration object or an array of configuration objects for the email service.
Returns:
Promise<void>
sakshValidateEmail(email)
Validates a single email address.
Parameters:
email
(string): The email address to validate.
Returns:
object
- The validation result.
sakshValidateEmailsInBatches(emailAddresses, batchSize, callback)
Validates emails in batches and informs the status to a callback function.
Parameters:
emailAddresses
(Array): Array of email addresses.batchSize
(number): The size of each batch.callback
(function): The callback function to inform the validation status.
Returns:
Promise<void>
sakshProcessEmailsInBatches(emailAddresses, subject, message, configs, callback)
Processes email sending in batches and updates the status via a callback.
Parameters:
emailAddresses
(Array): Array of email addresses.subject
(string): The subject of the email.message
(string): The body of the email.configs
(object|Array): A single configuration object or an array of configuration objects for the email service.callback
(function): The callback function to update email statuses.
Returns:
Promise<void>
Usage
Installation
npm install nodemailer saksh-mailer
const { sakshSendEmail, sakshSendEmailsBatch, sakshValidateEmailsInBatches, sakshProcessEmailsInBatches } = require('./index');
// Configuration for the email service
const emailConfig = {
host: 'smtp.example.com',
port: 587,
secure: false,
user: '[email protected]',
pass: 'your_email_password'
};
// Sending a single email
sakshSendEmail('[email protected]', 'Test Subject', 'Test Message', emailConfig)
.then(() => console.log('Email sent successfully'))
.catch(error => console.error('Error sending email:', error));
// Sending multiple emails in batch
const emailAddresses = ['[email protected]', '[email protected]'];
sakshSendEmailsBatch(emailAddresses, 'Batch Subject', 'Batch Message', emailConfig)
.then(() => console.log('Batch emails sent successfully'))
.catch(error => console.error('Error sending batch emails:', error));
// Validating emails in batches
const validateCallback = (email, validation) => {
console.log(`Email: ${email}, Validation: ${validation}`);
};
sakshValidateEmailsInBatches(emailAddresses, 50, validateCallback)
.then(() => console.log('Email validation completed'))
.catch(error => console.error('Error validating emails:', error));
// Processing email sending in batches
const processCallback = (email, status) => {
console.log(`Email: ${email}, Status: ${status}`);
};
sakshProcessEmailsInBatches(emailAddresses, 'Batch Subject', 'Batch Message', emailConfig, processCallback)
.then(() => console.log('Email processing completed'))
.catch(error => console.error('Error processing emails:', error));
```
### Support
susheel2339 at gmail.com