Popularity
2.9
Stable
Activity
0.0
Stable
153
8
20

Code Quality Rank: L5
Programming language: PHP
License: MIT License
Tags: Email     Validation     Library     Check     Email Address     MX     Throwaway     Disposable     Role     Checker     Validater    
Latest version: v1.1.2

Email Validator alternatives and similar libraries

Based on the "Email" category.
Alternatively, view Email Validator alternatives based on common mentions on social networks and blogs.

Do you think we are missing an alternative of Email Validator or a related project?

Add another 'Email' Library

README

Email Validator

Small PHP library to valid email addresses using a number of methods.

License Build Status Code Quality Downloads Github Stars

Features

  • Validates email address
  • Checks for example domains (e.g. example.com)
  • Checks for disposable email domains (e.g. mailinator.com)
  • Checks for role-based addresses (e.g. abuse@)
  • Checks for MX records (i.e. can receive email)

Install (using Composer)

composer require nojacko/email-validator:~1.0

Usage

Generalised Functions

  • isValid($email) Runs all the tests within this library. Returns true or false.
  • isSendable($email) Checks isEmail, isExample and hasMx. Returns true or false.

Specific Functions

If you want more control, use these functions seperately.

  • isEmail($email) Note: returns true or false only.
  • isExample($email)
  • isDisposable($email)
  • isRole($email)
  • hasMx($email)

These functions take a single argument (an email address) and return:

  • true, when function name is satisfied.
  • false, when function name is not satisfied.
  • null, when check is not possible, i.e. an invalid email is given.

Examples

$validator = new \EmailValidator\Validator();

$validator->isValid('[email protected]');              // true
$validator->isValid('[email protected]');                // false
$validator->isValid('[email protected]');             // false

$validator->isSendable('[email protected]');           // true
$validator->isSendable('[email protected]');             // true
$validator->isSendable('[email protected]');          // false

$validator->isEmail('[email protected]');             // true
$validator->isEmail('example@example');                 // false

$validator->isExample('[email protected]');           // true
$validator->isExample('[email protected]');            // false
$validator->isExample('example.com');                   // null

$validator->isDisposable('[email protected]');        // false
$validator->isDisposable('[email protected]');     // true
$validator->isDisposable('example.com');                // null

$validator->isRole('[email protected]');              // false
$validator->isRole('[email protected]');                // true
$validator->isRole('example.com');                      // null

$validator->hasMx('[email protected]');               // false
$validator->hasMx('[email protected]');                // true
$validator->hasMx('example.com');                       // null

Contribute

Contributions welcome!

Requirements

Add/Remove Disposable Domain

See the email-data-disposable project.

New Feature

If you're planning a new feature, please raise an issue first to ensure it's in scope. The aim is to keep this library small and with one specific purpose.

Other Contributions

For anything that isn't a new feature (bug fix, tests, etc) just create a pull request.

Testing

Test are all located in tests folder.

Run tests with phpunit. In root folder, execute phpunit in a CLI.

Versioning

Semantic Versioning 2.0.0

License

The MIT License (MIT). See LICENCE file.


*Note that all licence references and agreements mentioned in the Email Validator README section above are relevant to that project's source code only.