khanhicetea/fast-email-validator

适用于 PHP 7+ 的快速电子邮件验证库

1.0.0 2017-07-21 10:46 UTC

This package is auto-updated.

Last update: 2024-09-20 18:59:20 UTC


README

适用于 PHP 7+ 的快速电子邮件验证库

Build Status

灵感来源于 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% 准确的。与任何电子邮件验证一样,总会存在假阳性 & 假阴性。唯一保证电子邮件有效的办法是发送电子邮件并请求响应。然而,这个库仍然可以用于检测一次性电子邮件等,并且作为良好的第一道防线。