A PHP package to detect disposable emails based on multiple lists. 2023-03-21 12:57 UTC

This package is auto-updated.

Last update: 2023-05-21 13:22:55 UTC


Downloads Packagist License MIT

Validate emails against multiple databases with disposable email domains.

Current databases (domains, wildcard and whitelist):


Via Composer:

composer require eusonlito/disposable-email-validator


Basic use of email validator against built-in domains list:


require __DIR__.'/vendor/autoload.php';

use Eusonlito\DisposableEmail\Check;

// Simple
// Validate emailFilter, domain and wildcard

Check::email(''); // true
Check::email(''); // false

// Other methods

Check::emailFilter('');     // Validate email with filter_var
Check::emailExpression(''); // Validate email with regular expression
Check::domain('');             // Validate domain and wildcard domains
Check::wildcard('');           // Validate only wildcard domains

Integration with Laravel 5

To integrate this library with your Laravel 5.x project add the following line to the providers key within your config/app.php file:

'providers' => [



You can then use the library within your project like so:

use InvalidArgumentException;
use Eusonlito\DisposableEmail\Check;

class Signup
    public function validate(Request $request)
        if (!Check::email($request->input('email'))) {
            throw new InvalidArgumentException('Invalid email');

    public function getValidator(array $data)
        return Validator::make($data, [
             'email' => 'required|email|disposable_email' // Use after email validator