Verify email address checking MX records, and SMTP connection, check for disposable email addresses and free email providers.
✅ 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
- 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
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
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 sales@dev.me.
Install the module through YARN:
yarn add @devmehq/email-validator-js
Or NPM
npm install @devmehq/email-validator-js
import { verifyEmail } from '@devmehq/email-validator-js';
const { validFormat, validSmtp, validMx } = await verifyEmail({ emailAddress: 'foo@email.com', verifyMx: true, verifySmtp: true, timeout: 3000 });
// validFormat: true
// validMx: true
// validSmtp: trueWhen 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: 'foo@bad-domain.com', verifyMx: true, verifySmtp: true, timeout: 3000 });
// validFormat: true
// validMx: false
// validSmtp: nullA valid Yahoo domain will still return validSmtp true because their SMTP servers do not allow verifying if a mailbox exists.
Set a timeout in seconds for the smtp connection. Default: 10000.
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.
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
nullfor Yahoo addresses, for failed connections, for unknown SMTP errors. - It returns
truefor valid SMTP responses. - It returns
falsefor SMTP errors specific to the address's formatting or mailbox existence. Default:false.
yarn testPlease feel free to open an issue or create a pull request and fix bugs or add features, All contributions are welcome. Thank you!