printnow/free-email-checker
最新稳定版本:1.0.0
Composer 安装命令:
composer require printnow/free-email-checker
包简介
Detect whether an email is from common free or disposable email providers.
README 文档
README
一个简单高效的 PHP 包,用于检测邮箱是否来自免费邮箱提供商。
特性
- ✅ PHP 8.1+ readonly 属性
- 🚀 O(1) 查找,3700+ 域名
- 🔄 每周自动更新
- 📦 Laravel 自动集成
- 🧪 完整测试覆盖
安装
composer require printnow/free-email-checker
基础使用
use Printnow\FreeEmailChecker\Checker; $checker = new Checker(); $result = $checker->check('user@gmail.com'); if ($result->isFree()) { echo "这是免费邮箱: " . $result->getDomain(); } else { echo "这不是免费邮箱"; }
结果对象
$result = $checker->check('user@gmail.com'); // 直接访问 readonly 属性 $result->isFree; // bool: 是否为免费邮箱 $result->domain; // string|null: 域名 $result->email; // string: 原始邮箱地址 // 转换为其他格式 $result->toArray(); // array: 转为数组 $result->toJson(); // string: 转为 JSON
Laravel 使用
安装后会自动注册服务,可直接使用 Facade:
use Printnow\FreeEmailChecker\Laravel\FreeEmailFacade as FreeEmail; $result = FreeEmail::check('user@gmail.com'); if ($result->isFree) { // 处理免费邮箱逻辑 }
在验证规则中使用
use Illuminate\Validation\Validator; use Printnow\FreeEmailChecker\Laravel\FreeEmailFacade as FreeEmail; Validator::extend('not_free_email', function ($attribute, $value) { return !FreeEmail::check($value)->isFree; });
测试
composer test
性能
- O(1) 查找复杂度
- < 0.001ms/次查询
- 静态缓存,零重复 I/O
域名来源
域名清单来自 tbrianjones/free_email_provider_domains,通过 GitHub Actions 每周自动更新,包含 3700+ 个免费邮箱域名。
License
MIT
统计信息
- 总下载量: 47
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 0
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2025-10-18