mattketmo / email-checker

一次性电子邮件检测库

v2.3.0 2023-12-07 13:10 UTC

README

Build status... Code quality... Downloads Packagist License MIT

PHP库,用于检查电子邮件是否来自 一次性电子邮件提供商

为了检测无效电子邮件,它提供了一个包含 内置数据库1000多个一次性电子邮件提供商,但您也可以使用自己的数据。

安装

通过Composer

composer require mattketmo/email-checker

使用方法

使用内置的弃用电子邮件列表的基本使用方法EmailChecker

<?php

require __DIR__.'/vendor/autoload.php';

use EmailChecker\EmailChecker;

$checker = new EmailChecker();

$checker->isValid('foo@bar.org');     // true
$checker->isValid('foo@yopmail.com'); // false

或使用自定义适配器

<?php

use EmailChecker\EmailChecker;
use EmailChecker\Adapter;

$checker = new EmailChecker(new Adapter\ArrayAdapter(array(
    'foo.org',
    'baz.net'
)));

$checker->isValid('foo@bar.org'); // true
$checker->isValid('foo@baz.net'); // false

您可以通过实现AdapterInterface来简单地构建自己的适配器(以使用另一个数据库)。

Symfony2集成

此库还为您的Symfony2项目提供约束验证

<?php

use EmailChecker\Constraints as EmailCheckerAssert;
use Symfony\Component\Validator\Constraints as Assert;

class User
{
    /**
     * @Assert\NotBlank
     * @EmailCheckerAssert\NotThrowawayEmail
     */
    protected $email;
}

Laravel 5集成

要将此库与您的Laravel 5.x项目集成,请将以下行添加到您的config/app.php文件中的providers

EmailChecker\Laravel\EmailCheckerServiceProvider::class

如果您想使用EmailChecker外观,您还必须在您的config/app.php文件中的aliases键中添加以下行

'EmailChecker' => EmailChecker\Laravel\EmailCheckerFacade::class

然后您可以在项目中这样使用库

<?php

class MyClass
{
	public function foo()
	{
        // Facade Access
        EmailChecker::isValid('address@domain.com');

        // Container Access
        $checker = app()->make('email.checker');
        $checker->isValid('address@domain.com');
    }

    public function getValidator(array $data)
    {
        // Not thow away validator
        return Validator::make($data, [
    	     'email' => 'required|email|not_throw_away'
    	]);
    }
}

一些一次性电子邮件数据库列表

许可证

EmailChecker在MIT许可证下发布。有关详细信息,请参阅捆绑的LICENSE文件