crisnao2/disposable-email

This package helps determine if a given email address belongs to a disposable email provider. It can be used to prevent users from registering with temporary or throwaway email services, improving the quality of collected email addresses.

v1.0.0 2025-02-23 05:00 UTC

This package is auto-updated.

Last update: 2025-05-23 05:35:48 UTC


README

GitHub release (latest by date) GitHub Workflow Status

Status by version PHP

PHP 7.4 PHP 8.0 PHP 8.1 PHP 8.2 PHP 8.3 PHP 8.4

Description

This package helps determine if a given email address belongs to a disposable email provider. It can be used to prevent users from registering with temporary or throwaway email services, improving the quality of collected email addresses.

Features

  • Check if an email address is from a disposable email provider
  • Regularly updated list of disposable email domains
  • Caching mechanism to improve performance
  • Easy to integrate into existing projects

Requirements

  • PHP 7.4 or higher
  • Composer for dependency management

Installation

You can install this package via Composer. Run the following command in your project root:

composer require crisnao2/disposable-email

Usage

Here's a basic example of how to use the Disposable Email Checker:

<?php

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

use Crisnao2\DisposableEmail\Check;

$email = 'test@example.com';
$isDisposable = Check::isDisposableEmail($email);

if ($isDisposable) {
    echo "This email is from a disposable email provider.";
} else {
    echo "This email is not from a known disposable email provider.";
}

How It Works

  1. The package maintains a list of known disposable email domains.
  2. When checking an email, it extracts the domain and compares it against this list.
  3. The list is cached to improve performance and reduce API calls.
  4. The cached list is automatically updated every 30 days.

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

This project is licensed under the GPL-3.0 License.

Author

Cristiano Soares

Support

If you encounter any problems or have any questions, please open an issue on the GitHub repository.

Acknowledgements

This package uses the disposable email domains list maintained by the community at disposable-email-domains/disposable-email-domains.