Node Email Verifier is an email validation library for Node.js that checks if an email address has a valid format and optionally verifies the domain's MX (Mail Exchange) records to ensure it can receive emails.
- RFC 5322 Format Validation: Validates email addresses against the standard email formatting rules.
- MX Record Checking: Verifies that the domain of the email address has valid MX records indicating that it can receive emails. This check can be disabled using a parameter.
Install the package using npm:
npm install node-email-verifier --save
Here's how to use Node Email Verifier, with and without MX record checking:
import emailValidator from 'node-email-verifier';
// Example with MX record checking
async function validateEmailWithMx(email) {
try {
const isValid = await emailValidator(email);
console.log(`Is "${email}" a valid email address with MX checking?`, isValid);
} catch (error) {
console.error('Error validating email with MX checking:', error);
}
}
// Example without MX record checking
async function validateEmailWithoutMx(email) {
try {
const isValid = await emailValidator(email, false);
console.log(`Is "${email}" a valid email address without MX checking?`, isValid);
} catch (error) {
console.error('Error validating email without MX checking:', error);
}
}
validateEmailWithMx('test@example.com').then();
validateEmailWithoutMx('test@example.com').then();
Validates the given email address, with an option to skip MX record verification.
email
(string): The email address to validate.checkMx
(boolean): Whether to check for MX records, this defaults to true.
Promise<boolean>
: A promise that resolves to true if the email address is valid and, if checked, has MX records; false otherwise.
Contributions are always welcome! Feel free to submit a PR.
This project is licensed under the MIT License.