2016-04-30 21:14:37 +03:00
# PHP Tempmail Buster
2016-04-30 21:29:37 +03:00
[![Latest Version on Packagist][ico-version]][link-packagist]
2016-04-30 21:14:37 +03:00
[![Software License][ico-license]](LICENSE.md)
2016-04-30 21:29:37 +03:00
[![Total Downloads][ico-downloads]][link-downloads]
2016-04-30 21:14:37 +03:00
2016-05-01 09:21:54 +03:00
A package to protect your application from users with temp emails. Uses [Anti Tempmail Repo ](https://github.com/elyby/anti-tempmail-repo ) as a default blacklist source.
Provides an extendable class for E-mail validation based on black- or whitelist.
2016-04-30 21:14:37 +03:00
2016-05-01 09:21:54 +03:00
## Intallation
2016-04-30 21:14:37 +03:00
Install the latest version with
```sh
$ composer require ely/php-tempmailbuster
```
2016-05-01 09:21:54 +03:00
## Usage
2016-04-30 21:14:37 +03:00
2016-05-01 09:21:54 +03:00
Validation example using default loader:
2016-04-30 21:14:37 +03:00
```php
use Ely\TempMailBuster\Loader\AntiTempmailRepo;
use Ely\TempMailBuster\Storage;
use Ely\TempMailBuster\Validator;
$loader = new AntiTempmailRepo();
2016-05-01 09:21:54 +03:00
// A storage can be instantiated by feeding it with an array of patterns:
$storage = new Storage($loader->load());
// or created from loader instance
2016-04-30 21:14:37 +03:00
$storage = Storage::fromLoader($loader);
2016-05-01 09:21:54 +03:00
2016-04-30 21:14:37 +03:00
$validator = new Validator($storage);
$validator->validate('team@ely .by'); // = true
$validator->validate('hy42k@sendspamhere .com'); // = false
2016-05-01 09:21:54 +03:00
// Enable whitelisting mode
2016-04-30 21:14:37 +03:00
$validator->whitelistMode();
$validator->validate('team@ely .by'); // = false
$validator->validate('hy42k@sendspamhere .com'); // = true
```
2016-05-01 09:21:54 +03:00
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 ](tests/ValidatorTest.php ).
2016-04-30 21:14:37 +03:00
## Change log
Please see [CHANGELOG ](CHANGELOG.md ) for more information what has changed recently.
## Contributing
Please see [CONTRIBUTING ](CONTRIBUTING.md ) for details.
## Credits
This package was designed and developed within the [Ely.by ](http://ely.by ) project team. We also thank all the
[contributors ](link-contributors ) for their help.
## License
The MIT License (MIT). Please see [License File ](LICENSE.md ) for more information.
2016-04-30 21:29:37 +03:00
[ico-version]: https://img.shields.io/packagist/v/ely/php-tempmailbuster.svg?style=flat-square
2016-04-30 21:14:37 +03:00
[ico-license]: https://img.shields.io/badge/license-MIT-brightgreen.svg?style=flat-square
2016-04-30 21:29:37 +03:00
[ico-downloads]: https://img.shields.io/packagist/dt/ely/php-tempmailbuster.svg?style=flat-square
2016-04-30 21:14:37 +03:00
2016-04-30 21:30:51 +03:00
[link-packagist]: https://packagist.org/packages/ely/php-tempmailbuster
2016-04-30 21:14:37 +03:00
[link-author]: https://github.com/ErickSkrauch
[link-contributors]: ../../contributors
2016-04-30 21:30:51 +03:00
[link-downloads]: https://packagist.org/packages/ely/php-tempmailbuster