编程

Laravel 中的一次性电子邮件检测

20 2025-05-13 19:03:00

Laravel 的 Disposable Email 包旨在检测和阻止超过 10 万个已知域名的电子邮件地址。此包提供了多种使用一次性电子邮件检测规则的方法,如验证规则、blade 指令和服务 Facade:

use EragLaravelDisposableEmail\Rules\DisposableEmailRule;
 
$request->validate([
    'email' => ['required', 'email', new DisposableEmailRule()],
]);
 
// Or the string rule
$request->validate([
    'email' => ['required', 'email', 'disposable_email'],
]);

域名检测列表是可配置的,你可以通过该包提供的一个命令对其进行同步:

php artisan erag:sync-disposable-email-list

源列表是可配置的,建议对其中的域名进行验证。你还可以将自己的域名添加到列表中。最好是自己复制并维护此列表,或者在每次同步时手动验证它们。

主特性

  • 已包含 106,000+ 已知的域名
  • 表单请求智能验证规则
  • 通过 helper 及 Facade 运行时邮件检测
  • Blade 指令支持条件处理
  • 自动使用远程域名列表
  • 轻松添加自定义黑名单
  • 零配置,使用可发布配置
  • 兼容 Laravel 8、9、10、11 及 12

GitHub 源码:https://github.com/eramitgupta/laravel-disposable-email