Github url

EmailValidator

by egulias

egulias /EmailValidator

PHP Email address validator library inspired in @dominicsayers isemail function https://github.com/d...

9.2K Stars 115 Forks Last release: 28 days ago (2.1.18) MIT License 224 Commits 42 Releases

Available items

No Items, yet!

The developer of this repository has not created any items for sale yet. Need a bug fixed? Help with integration? A different license? Create a request here:

EmailValidator

Build Status Coverage Status Scrutinizer Code Quality SensioLabsInsight

Suported RFCs

This library aims to support:

RFC 5321, 5322, 6530, 6531, 6532.

Requirements

Installation

Run the command below to install via Composer

composer require egulias/email-validator

Getting Started

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 <?php

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

$validator = new EmailValidator(); $validator->isValid("[email protected]", new RFCValidation()); //true ```

Available validations

  1. RFCValidation
  2. NoRFCWarningsValidation
  3. DNSCheckValidation
  4. SpoofCheckValidation
  5. MultipleValidationWithAnd
  6. 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

How to extend

It's easy! You just need to implement EmailValidation and you can use your own validation.

Other Contributors

(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

License

Released under the MIT License attached with this code.

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.