README.md

    EmailValidator

    Build Status Coverage Status Scrutinizer Code Quality SensioLabsInsight

    Supported 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

    EmailValidatorrequires 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
    

    Available validations

    1. RFCValidation: Standard RFC-like email validation.
    2. NoRFCWarningsValidation: RFC-like validation that will fail when warnings* are found.
    3. DNSCheckValidation: Will check if there are DNS records that signal that the server accepts emails. This does not entails that the email exists.
    4. SpoofCheckValidation: Will check for multi-utf-8 chars that can signal an erroneous email name.
    5. MultipleValidationWithAnd: It is a validation that operates over other validations performing a logical and (&&) over the result of each validation.
    6. Your own validation: You can extend the library behaviour by implementing your own validations.

    *warnings: Warnings are deviations from the RFC that in a broader interpretation are acceptded.

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

    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.

    Описание

    PHP Email address validator

    Конвейеры
    0 успешных
    0 с ошибкой