A Laravel package to detect and block disposable email addresses.
erag/laravel-disposable-email is a Laravel package for a laravel package to detect and block disposable email addresses..
It currently has 278 GitHub stars and 268.459 downloads on Packagist (latest version v5.3.0).
Install it with composer require erag/laravel-disposable-email.
Discover more Laravel packages by erag
or browse all Laravel packages to compare alternatives.
Last updated
Laravel Disposable Email Address Validator helps you detect and block temporary, disposable, and throwaway email addresses in your Laravel applications.
Whether you're building a registration form, SaaS application, or lead generation system, the package helps prevent disposable email addresses from being used where genuine email addresses are needed.
It works with Laravel's built-in validation system, supports runtime checks, and uses a regularly maintained domain blocklist without requiring an external email validation API.
124,220+ known disposable email domains included, with daily updates to the maintained blocklist.
Install the package using Composer:
composer require erag/laravel-disposable-email
Run the installation command:
php artisan erag:install-disposable-email
For validation examples and configuration options, check the official documentation.
Disposable::check()php artisan disposable:statsThe package checks the domain part of an email address against its disposable email blocklist.
For example, if temp-mail.example is included in the blocklist, all these addresses will be detected as disposable:
[email protected]
[email protected]
[email protected]
The username before @ doesn't matter. If the domain is on the blocklist, the email will be detected.
Disposable email detection uses a locally maintained domain list, so your application doesn't need to send email addresses to an external API for every check.
This means:
Optional validation modes, such as DNS checks, may still perform network operations.
Complete documentation for installation, configuration, validation rules, runtime checks, syncing, caching, and troubleshooting is available here:
https://erag.in/laravel-disposable-email/
This package uses the Disposable Email Blocklist, a separate open-source repository that I maintain and update regularly.
π¦ https://github.com/eramitgupta/disposable-email
GitHub Actions runs daily to keep the blocklist up to date.
The update process:
The goal is to keep the list current as new disposable email services appear.
To manually sync the latest available disposable email domains into your Laravel application, run:
php artisan erag:sync-disposable-email-list
The sync process adds newly discovered domains without removing existing domains from your local blocklist.
The upstream repository receives daily updates. Your Laravel application can receive those updates through local synchronization.
Your last known-good blocklist is never replaced or reduced by a bad remote response:
The package can be useful anywhere your application collects email addresses.
Some common examples include:
Disposable email detection won't prevent every type of spam or fake registration, but it adds another layer of protection alongside email verification and rate limiting.
Contributions are welcome.
If you find a bug, have a feature suggestion, or notice something that could be improved, feel free to open an issue or submit a pull request.
If you discover a missing disposable email domain, you can also report it in the blocklist repository.
I maintain this package as an open-source project and continue working on improving its accuracy, performance, and developer experience.
If it helps your project, consider giving it a GitHub star.
It helps other Laravel developers discover the package.
This package is open-source software licensed under the MIT License.