A library for validating emails against several RFC.
This library aims to support RFCs:
Current major version with full support is v3
Version | Released | EOL | Only critical bug fixes | Full |
---|---|---|---|---|
v4.x | 2023/01/07 | - | X | X |
v3.x | 2020/12/29 | - | X | |
v2.1.x | 2016/05/16 | YES | ||
v1.2 | 2013/19/05 | YES |
Note: PHP version upgrades will happen to accomodate to the pace of major frameworks. Minor versions bumps will go via minor versions of this library (i.e: PHP7.3 -> v3.x+1). Major versions will go with major versions of the library
Run the command below to install via Composer
composer require egulias/email-validator
EmailValidator
requires you to decide which (or combination of them) validation/s strategy/ies you'd like to follow for each validation.
A basic example with the RFC validation
<?php
use Egulias\EmailValidator\EmailValidator;
use Egulias\EmailValidator\Validation\RFCValidation;
$validator = new EmailValidator();
$validator->isValid("example@example.com", new RFCValidation()); //true
*warnings: Warnings are deviations from the RFC that in a broader interpretation are accepted.
<?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 capabilities
$validator->isValid("example@ietf.org", $multipleValidations); //true
Validations not present in the RFCs
It's easy! You just need to implement EmailValidation and you can use your own validation.
Please follow the Contribution guide. Is short and simple and will help a lot.
(You can find current contributors here)
As this is a port from another library and work, here are other people related to the previous one:
Released under the MIT License attached with this code.