suprvise / email-checker
一次性电子邮件检测库
v1.6.0
2020-12-15 21:48 UTC
Requires
- php: ^5.4 || ^7.0 || ^8.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^1.9
- knplabs/gaufrette: >=0.1,<=0.8
- phpunit/phpunit: ^4.8
- symfony/validator: ^2.1 || ^3.0 || ^4.0
Suggests
- knplabs/gaufrette: Use filesystem abstraction layer to read data
- symfony/validator: Add validation constraints
README
PHP 库,用于检查电子邮件是否来自 一次性电子邮件提供商。
为了检测无效的电子邮件,它提供了一个内置的数据库,包含超过 1000+ 一次性电子邮件提供商,但您也可以使用自己的数据。
安装
通过 Composer
composer require mattketmo/email-checker
用法
使用内置的一次性电子邮件列表的基本用法 EmailChecker
<?php require __DIR__.'/vendor/autoload.php'; use EmailChecker\EmailChecker; $checker = new EmailChecker(); $checker->isValid('foo@bar.org'); // true $checker->isValid('foo@yopmail.com'); // false
或使用自定义适配器
<?php use EmailChecker\EmailChecker; use EmailChecker\Adapter; $checker = new EmailChecker(new Adapter\ArrayAdapter(array( 'foo.org', 'baz.net' ))); $checker->isValid('foo@bar.org'); // true $checker->isValid('foo@baz.net'); // false
您可以通过实现 AdapterInterface 来构建自己的适配器(以使用另一个数据库)。
与 Symfony2 集成
此库还为您提供 Symfony2 项目的约束验证
<?php use EmailChecker\Constraints as EmailCheckerAssert; use Symfony\Component\Validator\Constraints as Assert; class User { /** * @Assert\NotBlank * @EmailCheckerAssert\NotThrowawayEmail */ protected $email; }
与 Laravel 5 集成
要将此库与您的 Laravel 5.x 项目集成,请在您的 config/app.php
文件中的 providers
键中添加以下行
EmailChecker\Laravel\EmailCheckerServiceProvider::class
如果您想使用 EmailChecker
门面,您还必须在您的 config/app.php
文件中的 aliases
键中添加以下行
'EmailChecker' => EmailChecker\Laravel\EmailCheckerFacade::class
然后您可以在项目中像这样使用库
<?php class MyClass { public function foo() { // Facade Access EmailChecker::isValid('address@domain.com'); // Container Access $checker = app()->make('email.checker'); $checker->isValid('address@domain.com'); } public function getValidator(array $data) { // Not thow away validator return Validator::make($data, [ 'email' => 'required|email|not_throw_away' ]); } }
一些一次性电子邮件数据库列表
- http://10minutemail.com
- http://spamdecoy.net
- http://temp-mail.org
- http://torvpn.com/temporaryemail.html
- http://www.bloggingwv.com/big-list-of-disposable-temporary-email-services/
- http://www.fakemailgenerator.com/
- http://www.warriorforum.com/main-internet-marketing-discussion-forum/147524-list-temporary-email-services-you-may-want-block-your-autoresponder-little-rant.html
- http://xenforo.com/community/threads/ban-temporary-email-addresses.5461/
许可证
EmailChecker 在 MIT 许可证下发布。有关详细信息,请参阅附带 LICENSE 文件。