@devmehq/email-validator-js
v2.0.1
Published
Advanced Email Validation with DNS MX lookup and Mailbox Verification
Downloads
10,304
Maintainers
Readme
Advanced Email Validator
Verify email address checking MX records, and SMTP connection, check for disposable email addresses and free email providers.
Features
✅ Check email address validity
✅ Check email address domain validity in domain TLD list
✅ Check email address MX records
✅ Check email address SMTP connection
✅ Check email address disposable or burnable status
✅ Check email address free email provider status
🚨 Check domain age and quality score - soon
🚨 Check domain registration status - soon
Use cases
- Increase delivery rate of email campaigns by removing spam emails
- Increase email open rate and your marketing IPs reputation
- Protect your website from spam, bots and fake emails
- Protect your product signup form from fake emails
- Protect your website forms from fake emails
- Protect your self from fraud orders and accounts using fake emails
- Integrate email address verification into your website forms
- Integrate email address verification into your backoffice administration and order processing
API / Cloud Hosted Service
We offer this email verification and validation and more advanced features
in our Scalable Cloud API Service Offering - You could try it here Email Verification
License
email-validator-js licensed under Business Source License 1.1. The BSL allows use only for non-production purposes.
| Use Case | Is a commercial license required?| |----------|-----------| | Exploring email-validator-js for your own research, hobbies, and testing purposes | No | | Using email-validator-js to build a proof-of-concept application | No | | Using email-validator-js to build revenue-generating applications | Yes | | Using email-validator-js to build software that is provided as a service (SaaS) | Yes | | Forking email-validator-js for any production purposes | Yes |
To purchase a license for uses not authorized by BSL, please contact us at [email protected].
installation and usage instructions
Installation
Install the module through YARN:
yarn add @devmehq/email-validator-js
Or NPM
npm install @devmehq/email-validator-js
Examples
import { verifyEmail } from '@devmehq/email-validator-js';
const { validFormat, validSmtp, validMx } = await verifyEmail({ emailAddress: '[email protected]', verifyMx: true, verifySmtp: true, timeout: 3000 });
// validFormat: true
// validMx: true
// validSmtp: true
When a domain does not exist or has no MX records, the domain validation will fail, and the mailbox validation will return null
because it could not be performed:
const { validFormat, validSmtp, validMx } = await verifyEmail({ emailAddress: '[email protected]', verifyMx: true, verifySmtp: true, timeout: 3000 });
// validFormat: true
// validMx: false
// validSmtp: null
A valid Yahoo domain will still return validSmtp
true because their SMTP servers do not allow verifying if a mailbox exists.
Configuration options
timeout
Set a timeout in seconds for the smtp connection. Default: 10000
.
verifyMx
Enable or disable domain checking. This is done in two steps:
- Verify that the domain does indeed exist;
- Verify that the domain has valid MX records.
Default:
false
.
verifySmtp
Enable or disable mailbox checking. Only a few SMTP servers allow this, and even then whether it works depends on your IP's reputation with those servers. This library performs a best effort validation:
- It returns
null
for Yahoo addresses, for failed connections, for unknown SMTP errors. - It returns
true
for valid SMTP responses. - It returns
false
for SMTP errors specific to the address's formatting or mailbox existence. Default:false
.
Disposable email providers database ( ✅ Always Updated )
Free email providers database ( ✅ Always Updated )
Testing
yarn test
Contributing
Please feel free to open an issue or create a pull request and fix bugs or add features, All contributions are welcome. Thank you!