Skip to content

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

License

Notifications You must be signed in to change notification settings

salaros/is-biz-mail-php

Repository files navigation

Business Email Checker Build Status codecov 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