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.
Requires
- php: >=7.4
- guzzlehttp/guzzle: ^7.9
Requires (Dev)
- phpunit/phpunit: ^9.6
README
Status by version PHP
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
- The package maintains a list of known disposable email domains.
- When checking an email, it extracts the domain and compares it against this list.
- The list is cached to improve performance and reduce API calls.
- 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
- Website: comerciobr.com
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.