PHPackages                             imiphp/imi-email-blacklist - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Validation &amp; Sanitization](/categories/validation)
4. /
5. imiphp/imi-email-blacklist

ActiveLibrary[Validation &amp; Sanitization](/categories/validation)

imiphp/imi-email-blacklist
==========================

imi 框架邮箱域名黑名单组件，支持自动更新临时邮箱域名列表。

v2.1.2(2y ago)3469MulanPSL-2.0PHP

Since Aug 21Pushed 2y ago1 watchersCompare

[ Source](https://github.com/imiphp/imi-email-blacklist)[ Packagist](https://packagist.org/packages/imiphp/imi-email-blacklist)[ RSS](/packages/imiphp-imi-email-blacklist/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (3)Dependencies (8)Versions (4)Used By (0)

imi-email-blacklist
===================

[](#imi-email-blacklist)

[![Latest Version](https://camo.githubusercontent.com/376298145186ad63371f6db87e6020e49532deeaedb29b0d1e9b72a57ed9c3d2/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f696d697068702f696d692d656d61696c2d626c61636b6c6973742e737667)](https://packagist.org/packages/imiphp/imi-email-blacklist)[![Php Version](https://camo.githubusercontent.com/4a5c2ab20974058a8bab53ecb30ac4c2e6bb961df6229b7386fdc097ab53dfa8/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f7068702d2533453d372e342d627269676874677265656e2e737667)](https://secure.php.net/)[![Swoole Version](https://camo.githubusercontent.com/2b08ceed852c672ccac1ba1e0db0399fd6c269b1f40d58b8d4cf11455a95446d/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f73776f6f6c652d2533453d342e382e302d627269676874677265656e2e737667)](https://github.com/swoole/swoole-src)[![imi License](https://camo.githubusercontent.com/98bdbfaa35e79370786c656980aab520be3e8af9551d8418a3ca4da1775f84c9/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c6963656e73652d4d756c616e50534c253230322e302d627269676874677265656e2e737667)](https://github.com/imiphp/imi-email-blacklist/blob/master/LICENSE)

介绍
--

[](#介绍)

imi 框架邮箱域名黑名单组件，支持自动更新临时邮箱域名列表。

安装
--

[](#安装)

`composer require imiphp/imi-email-blacklist:~2.1.0`

使用说明
----

[](#使用说明)

### 数据更新

[](#数据更新)

**配置：**

`@app.beans`：

```
[
    \Imi\Email\BlackList\EmailBlackListHandler::class => [
        'handler' => \Imi\Email\BlackList\Handler\RedisHandler::class, // 数据处理器，目前仅支持 Redis，你也可以实现 \Imi\Email\BlackList\IHandler 接口自定义处理器
    ],
    \Imi\Email\BlackList\EmailBlackListCrawler::class => [
        'enable' => true, // 是否启用
        // 采集器列表
        // 你也可以实现 \Imi\Email\BlackList\Contract\IEmailBlackListCrawler 接口自定义采集器
        'crawlers' => [
            \Imi\Email\BlackList\IvoloDisposableEmailDomainsCrawler::class, // 数据来源：https://github.com/ivolo/disposable-email-domains/raw/master/index.json
        ],
    ],
    // handler 配置
    \Imi\Email\BlackList\Handler\RedisHandler::class => [
        'key' => 'imi:email:blacklist', // 存储数据的键名
        'poolName' => null, // 连接池
    ],
]
```

> 上面展示的是默认配置，默认不配置也可以使用

**定时自动采集：**

由于列表频繁更新可能性不大，固定 1 小时采集一次。你必须启用定时任务进程。

**手动更新采集：**

运行命令：`vendor/bin/imi-swoole emailBlackList/crawl`

> `imi-swoole` 也可以替换为其它容器的启动文件

### 自定义管理域名

[](#自定义管理域名)

```
$handler = \Imi\Email\BlackList\Util\EmailBlackListUtil::getHandler();
$handler->add(['example.com']); // 批量增加
$handler->remove(['example.com']); // 批量删除
$handler->clear(); // 清空
$handler->has('example.com'); // 是否存在
$handler->count(); // 统计数量
$handler->list(); // 获取列表
$handler->list('.com'); // 关键词搜索
// 分页
// 注意：RedisHandler 返回数据数量可能不一定等于 $count
$page = 1;
$count = 10;
$handler->list('', $page, $count);
```

### 验证器

[](#验证器)

注解：`Imi\Email\BlackList\Validate\Annotation\EmailBlackList`

```
