What is mailchecker?
The mailchecker npm package is used to validate email addresses and check if they belong to disposable email providers. This can be useful for preventing users from signing up with temporary email addresses that may be used for spam or fraudulent activities.
What are mailchecker's main functionalities?
Validate Email Address
This feature allows you to check if an email address is valid and not from a disposable email provider. The `isValid` method returns a boolean indicating the validity of the email.
const mailchecker = require('mailchecker');
const email = 'example@example.com';
const isValid = mailchecker.isValid(email);
console.log(`Is the email valid? ${isValid}`);
Check Disposable Email
This feature allows you to specifically check if an email address is from a disposable email provider. The `isDisposable` method returns a boolean indicating whether the email is disposable.
const mailchecker = require('mailchecker');
const email = 'example@disposable.com';
const isDisposable = mailchecker.isDisposable(email);
console.log(`Is the email disposable? ${isDisposable}`);
Other packages similar to mailchecker
email-verifier
The email-verifier package provides email verification and validation services. It checks the syntax, domain, and mailbox existence. Compared to mailchecker, it offers more comprehensive email validation features, including SMTP checks.
disposable-email-domains
The disposable-email-domains package provides a list of disposable email domains. It is a simpler package compared to mailchecker, focusing solely on identifying disposable email domains without additional validation features.
email-existence
The email-existence package checks if an email address exists by connecting to the mail server. It provides a more in-depth validation compared to mailchecker, which primarily focuses on identifying disposable emails.
MailChecker

Cross-language email validation. Backed by a database of 435 throwable email providers.
This will be very helpful when you have to contact your users and you want to avoid errors causing lack of communication or want to block "spamboxes".
MailChecker currently supports:
Usage
NodeJS
var MailChecker = require('mailchecker');
if(!MailChecker('myemail@yopmail.com')){
console.error('O RLY !');
process.exit(1);
}
if(!MailChecker('myemail.com')){
console.error('O RLY !');
process.exit(1);
}
JavaScript
<script type="text/javascript" src="MailChecker/platform/javascript/MailChecker.js"></script>
<script type="text/javascript">
if(!MailChecker('myemail@yopmail.com')){
console.error('O RLY !');
}
if(!MailChecker('myemail.com')){
console.error('O RLY !');
}
</script>
PHP
include __DIR__."/MailChecker/platform/php/MailChecker.php";
if(!MailChecker('myemail@yopmail.com')){
die('O RLY !');
}
if(!MailChecker('myemail.com')){
die('O RLY !');
}
Installation
NodeJS/JavaScript
npm install mailchecker
We accept pull-requests for other package manager.
Data sources
TorVPN
$('td', 'table:last').map(function(){
return this.innerText;
}).toArray();
BloggingWV
Array.prototype.slice.call(document.querySelectorAll('.entry > ul > li a')).map(function(el){return el.innerText});
... please add your own dataset to list.json.
Regenerate libraries from list.json
Just run (requires NodeJS):
./gen.js
Donate
Donate Bitcoins
License
Copyright (c) 2013 Francois-Guillaume Ribreau
Licensed under the MIT license.