suprvise/email-checker

一次性电子邮件检测库

v1.6.0 2020-12-15 21:48 UTC

This package is auto-updated.

Last update: 2024-09-16 06:39:52 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 文件