Disposable email domain lists, used in disposable email services, generated every quarter of an hour, in txt and JSON format.
You can find here the lists used by this project to obtain the blocked and allowed domains. This project maintains this list of secure domains.
The project requires:
- PHP 8.4 or 8.5
- Composer 2.x
- Laravel 13.x
If you see that some domains should not be in the deny list, if you want to add some other list or if you want to suggest some change, improvement, ... you can contact me through the project issues or in my personal blog.
- denyDomains. List of known e-mail domains used disposable email services and should be blocked. Available in txt and json format.
- allowDomains. List of well-known email domains that are not disposable and should be allowed. Available in txt and json format.
- secureDomains. Internal list of known e-mail domains that are secure. Used to generate the denyDomains files.
- meta. Machine-readable counts of the generated lists, in json format. The generation time is the file's last commit date.
You can use these files in your projects to block disposable email domains.
- First, you should check if the domain is in the allow list, using the allowDomains file.
- If it is not, you should check if the domain is in the deny list, using the denyDomains file.
For example, in PHP:
$emailDomain = 'gmail.com';
$allowDomains = file_get_contents('https://raw.githubusercontent.com/amieiro/disposable-email-domains/master/allowDomains.json');
$allowDomains = json_decode($allowDomains, true);
if (in_array($emailDomain, $allowDomains)) {
echo 'This domain is allowed.';
}
$emailDomain = 'temp-mail.org';
$denyDomains = file_get_contents('https://raw.githubusercontent.com/amieiro/disposable-email-domains/master/denyDomains.json');
$denyDomains = json_decode($denyDomains, true);
if (in_array($emailDomain, $denyDomains)) {
echo 'This domain is disposable.';
}If you run a WordPress site, you don't need to integrate these lists by hand: the Peneira Disposable Email Blocker plugin uses them to reject disposable email addresses on user registration, login, comments, and the main contact and commerce form plugins (Contact Form 7, WooCommerce, Gravity Forms, WPForms, Forminator, Ninja Forms and Fluent Forms). The plugin ships with a bundled copy of the lists, works without making any external requests, and can optionally refresh the lists from this repository on a schedule you choose.
This project aggregates lists published by external sources and only maintains the secureDomains.txt file by hand, so the lists are offered as is, without any warranty or acceptance of liability. See the terms of service and the privacy policy for details.
This project and the files are open-sourced software licensed under the MIT license.