andimg93/disposable-mail-detection

临时(一次性/废弃)邮箱检测库 - 一次性邮箱地址是个麻烦,但不再需要担心。


README

当我意识到没有好的、快速且维护良好的一次性邮箱地址检测包时 - 我现在已经自己创建了一个。

目前存储了 149k+ 唯一的一次性邮箱提供商。没有任何地址重复 - 没有重复!在PHP相关方面,没有比这更好的验证包。这是基于对相关邮箱部分的简单isset检查,这会比in_array快得多 - 尤其是在这样大的查找/数组中。isset与in_array相比的优势简要说明如下

  • 它在键上使用O(1)的哈希搜索,而in_array必须检查每个值直到找到匹配项
  • 作为一个操作码,它的开销比调用in_array内置函数要少

因此,这个包的优势是显而易见的

  • 卓越的性能
  • 具有可能最多的存储一次性邮箱地址的包
  • 没有对其他各种包的依赖
  • 完全免费

通过composer获取

composer require andimg93/disposable-mail-detection

用法

<?php

use AndreasMaximilianGerum\DisposableMailDetection\Verifier;

if (Verifier::isDisposableMail($emailToValidate)) {
    // It's a disposable mail address!
    // Throw exception or stop processing, nobody want fake mail providers.
}

// Else it is a proper mail address - Do what you want to do in this case.

我们需要您的帮助

关于所有伪造邮箱提供商的来源,请参阅updater.php

如果您还记得其他好的伪造邮箱提供商来源,请随时添加到那里并提交一个PR。

如果您不知道其他来源,但有仍缺失的伪造邮箱提供商?那么请将它们添加到disposable-mails-blacklist.inc.php中的列表。只需提交一个PR,我会尽快查看 - 感谢您的帮助!

如果一个提供者不是一次性邮箱提供者,可以通过白名单来排除后续生成的查找!

要更新整个列表,只需在修改后运行更新脚本。它的工作方式如下

php -n updater.php

在源/黑名单/白名单的任何更改之后,都需要重新生成查找,正如前面所述。