/is-biz-mail-php

isBizMail tells you whether a given email address belongs to a free email account provider (gmail.com, yahoo.es, yandex.ru etc) or not.

Primary LanguagePHPOtherNOASSERTION

Business Email Checker Build Status Coverage Status Scrutinizer Code Quality

License PHP version Latest Stable Version Total Downloads composer.lock available

Donate Patreon Donate Paypal Donate Liberapay

isBizMail tells you whether a given email address is free (gmail.com, yahoo.es, yandex.ru etc) or not. The list of emails used by isBizMail is taken from hereยน. Detects around 2500 domains and subdomains.

  1. All credits for the list itself go to SpamAssasin authors and contributors

Looking for JavaScript, .NET etc?

๐ŸŸŠ๐ŸŸŠ๐ŸŸŠ Support this project ๐ŸŸŠ๐ŸŸŠ๐ŸŸŠ

You can support us in a small way, please consider starring and sharing this repo! It helps us getting known and grow the community.

star us

Installation

You can install isBizMail via Composer:

composer require salaros/is-biz-mail

or by adding it directly to your composer.json file:

{
    "require": {
        "salaros/is-biz-mail": "*"
    }
}

Then use it like this:

<?php

require 'path/to/vendor/autoload.php';

use Salaros\Email\IsBizMail;

(new IsBizMail())->isValid('foo@bar.com');      // true

// You can use static access as well
IsBizMail::isValid('hello@gmail.com');          // false
// ...

You can easily drop it into your Yii2 model's rules:

public function rules() {
  return [
    // ...
    [['email'], 'isBusinessEmail'],
    // ...
  ];
}

public function isBusinessEmail($attributeName, $params) {
  $isBussiness = (new IsBizMail())->isValid($this->email);
  if (!isBussiness)
    $this->addError($attributeName, 'Mail boxes such as @gmail.com, @yahoo.com etc are not allowed!');
  return $isBussiness;
}

Testing: PHPUnit

composer install
composer test   # or ./vendor/bin/phpunit