src | ||
tests | ||
.gitignore | ||
CHANGELOG.md | ||
composer.json | ||
CONTRIBUTING.md | ||
LICENSE.md | ||
phpunit.xml.dist | ||
README.md |
PHP Tempmail Buster
A package to protect your application from users with temp emails. Uses Anti Tempmail Repo as a default blacklist source. Provides an extendable class for E-mail validation based on black- or whitelist.
Intallation
Install the latest version with
$ composer require ely/php-tempmailbuster
Usage
Validation example using default loader:
use Ely\TempMailBuster\Loader\AntiTempmailRepo;
use Ely\TempMailBuster\Storage;
use Ely\TempMailBuster\Validator;
$loader = new AntiTempmailRepo();
// A storage can be instantiated by feeding it with an array of patterns:
$storage = new Storage($loader->load());
// or created from loader instance
$storage = Storage::fromLoader($loader);
$validator = new Validator($storage);
$validator->validate('team@ely.by'); // = true
$validator->validate('hy42k@sendspamhere.com'); // = false
// Enable whitelisting mode
$validator->whitelistMode();
$validator->validate('team@ely.by'); // = false
$validator->validate('hy42k@sendspamhere.com'); // = true
Validator constructor accepts 2 arguments: primary and secondary storages. Primary storage is used for validation based on current mode (whitelist/blacklist). Secondary storage (if provided) allows you to add exceptions from primary storage rules.
For more usage examples please take a look on tests.
Change log
Please see CHANGELOG for more information what has changed recently.
Contributing
Please see CONTRIBUTING for details.
Credits
This package was designed and developed within the Ely.by project team. We also thank all the contributors for their help.
License
The MIT License (MIT). Please see License File for more information.