This library aims to support:
RFC 5321, 5322, 6530, 6531, 6532.
- Composer is required for installation
- Spoofchecking and DNSCheckValidation validation requires that your PHP system has the PHP Internationalization Libraries (also known as PHP Intl)
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("[email protected]", new RFCValidation()); //true
- RFCValidation
- NoRFCWarningsValidation
- DNSCheckValidation
- SpoofCheckValidation
- MultipleValidationWithAnd
- Your own validation
MultipleValidationWithAnd
It is a validation that operates over other validations performing a logical and (&&) over the result of each validation.
<?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()
]);
$validator->isValid("[email protected]", $multipleValidations); //true
It's easy! You just need to implement EmailValidation and you can use your own validation.
(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:
- Ricard Clau @ricardclau: Performance against PHP built-in filter_var
- Josepf Bielawski @stloyd: For its first re-work of Dominic's lib
- Dominic Sayers @dominicsayers: The original isemail function
Released under the MIT License attached with this code.