Email address validation with DNS MX record, SMTP connection and disposable email verification
npm install @ph7/real-email-validationVerify email address checking MX records, and SMTP connection, check for disposable email addresses and free email providers.
✅ 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_
email verification and validation and more advanced features in our Scalable Cloud API Service Offering - You could try it here Email Verificationyarn
yarn add @ph7/real-email-validation
`
Or NPM
`npm
npm install @ph7/real-email-validation
`Examples
`typescript
import { verifyEmail } from '@ph7/real-email-validation';const { validFormat, validSmtp, validMx } = await verifyEmail({ emailAddress: 'foo@email.com', verifyMx: true, verifySmtp: true, timeout: 3000 });
// validFormat: true
// validMx: true
// validSmtp: true
if (validFormat === false || validMx === false || validSmtp === false) {
// invalid/un-existent email address
}
`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:`typescript
const { validFormat, validSmtp, validMx } = await verifyEmail({ emailAddress: 'foo@bad-domain.com', 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
$3
Set a timeout in seconds for the smtp connection. Default: 10000.
$3
Enable or disable domain checking. This is done in two steps:
1. Verify that the domain does indeed exist;
2. Verify that the domain has valid MX records.
Default: false.
$3
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 (recommended).$3
Disposable email providers$3
Free email providersTesting
`bash
yarn test
``