jeronimofagundes/email-validator

一个针对多个RFC进行电子邮件验证的库

资助包维护!
egulias

安装: 131

依赖: 0

建议者: 0

安全: 0

星星: 1

观察者: 2

分支: 206

2.1.7 2018-12-04 22:38 UTC

README

支持的RFC

本库旨在支持

RFC 5321, 5322, 6530, 6531, 6532。

需求

安装

运行以下命令通过Composer安装

composer require jeronimofagundes/email-validator "dev-master"

入门

EmailValidator需要您为每个验证选择(或它们的组合)要遵循的验证/策略/策略。

使用RFC验证的基本示例

<?php

use Egulias\EmailValidator\EmailValidator;
use Egulias\EmailValidator\Validation\RFCValidation;

$validator = new EmailValidator();
$validator->isValid("example@example.com", new RFCValidation()); //true

可用的验证

  1. RFCValidation:标准的类似RFC的电子邮件验证。
  2. NoRFCWarningsValidation:类似RFC的验证,当发现警告*时会失败。
  3. DNSCheckValidation:将检查是否存在DNS记录表明服务器接受电子邮件。这并不保证电子邮件存在。
  4. SpoofCheckValidation:将检查是否存在可能表示电子邮件名称错误的多UTF-8字符。
  5. MultipleValidationWithAnd:这是一个在其它验证之上执行逻辑与(&&&)操作的验证。
  6. DNSDigCheckValidation
  7. GMailValidation
  8. HotmailValidation
  9. 您的验证:您可以通过实现自己的验证来扩展库的行为。

*警告:警告是从RFC中偏离的地方,在更广泛的解释中是被接受的。

<?php

use Egulias\EmailValidator\EmailValidator;
use Egulias\EmailValidator\Validation\DNSCheckValidation;
use Egulias\EmailValidator\Validation\MultipleValidationWithAnd;
use Egulias\EmailValidator\Validation\RFCValidation;

$validator = new EmailValidator();
$multipleValidations = new MultipleValidationWithAnd([
    new RFCValidation(),
    new DNSCheckValidation()
]);
//ietf.org has MX records signaling a server with email capabilites
$validator->isValid("example@ietf.org", $multipleValidations); //true

如何扩展

这很容易!您只需要实现EmailValidation,然后就可以使用您自己的验证。

其他贡献者

(您可以在这里找到当前贡献者)

由于这是一个从另一个库和工作转换而来,以下是与之前版本有关的其他人

  • Ricard Clau @ricardclau:与PHP内置filter_var的性能对比
  • Josepf Bielawski @stloyd:为其第一次重构Dominic的lib
  • Dominic Sayers @dominicsayers:原始的isemail函数

许可证

在MIT许可证下发布,与代码一起提供。