khanhicetea / fast-email-validator
适用于 PHP 7+ 的快速电子邮件验证库
1.0.0
2017-07-21 10:46 UTC
Requires
- php: ^7.0
Requires (Dev)
- mockery/mockery: ^0.9.9
- phpunit/phpunit: ^6.2
This package is auto-updated.
Last update: 2024-09-20 18:59:20 UTC
README
适用于 PHP 7+ 的快速电子邮件验证库
灵感来源于 daveearley's Email-Validation-Tool
该库的目的是提供比仅检查电子邮件格式是否有效更详细的电子邮件验证报告,并且可以轻松添加自定义验证。
目前该工具检查以下内容
^ 用于这些检查的数据可以在以下位置找到 此处
为什么它这么快?
因为我们编译了 文本数据库 到真正的 PHP 对象,并使用 isset
函数来检查键是否存在。
安装
composer require khanhicetea/fast-email-validator
使用方法
快速入门
// Include the composer autoloader require __DIR__ . '/vendor/autoload.php'; use FastEmailValidator\EmailAddress; use FastEmailValidator\EmailValidatorProvider; use FastEmailValidator\EmailValidator; $fastEmailValidator = new EmailValidator(); $provider = new EmailValidatorProvider(); $provider->registerValidator(new ValidFormatValidator()); $provider->registerValidator(new DisposableEmailValidator()); $provider->registerValidator(new EmailHostValidator()); $provider->registerValidator(new FreeEmailServiceValidator()); $provider->registerValidator(new MxRecordsValidator()); $provider->registerValidator(new RoleBasedEmailValidator()); $fastEmailValidator->registerEmailValidatorProvider($provider); $result = $fastEmailValidator->validate(new EmailAddress('hi@khanhicetea.com')); echo(json_encode($result));
预期输出
{ "valid_format": true, "disposable_email_provider": false, "valid_host": true, "free_email_provider": false, "valid_mx_records": true, "role_or_business_email": true }
常见问题解答
这个验证准确吗?
不,这些测试没有一个是 100% 准确的。与任何电子邮件验证一样,总会存在假阳性 & 假阴性。唯一保证电子邮件有效的办法是发送电子邮件并请求响应。然而,这个库仍然可以用于检测一次性电子邮件等,并且作为良好的第一道防线。