veeqtoh / laravel-active-email
提供针对一次性电子邮件地址验证规则的Laravel扩展包。
Requires
- php: ^8.1
- illuminate/container: ^10.0|^11.0
- illuminate/database: ^10.0|^11.0
- nesbot/carbon: ^2.0|^3.0
Requires (Dev)
- larastan/larastan: ^2.0
- mockery/mockery: ^1.0
- orchestra/testbench: ^8.0|^9.0
- pestphp/pest-plugin-laravel: ^2.3
This package is auto-updated.
Last update: 2024-09-25 23:15:23 UTC
README
目录
概述
此包提供了一组一次性电子邮件域库,并为Laravel应用程序添加了一个验证器,以检查给定的电子邮件地址是否不是来自如Mailinator
、Guerillamail
、Tempmail
等一次性电子邮件服务,同时考虑了所有可能的通配符。
主要特性
- 您可以将自己的首选域添加到黑名单中。
- 您可以通过白名单来绕过黑名单。这在开发环境中可能很有用。
- 使用严格模式,您可以选择验证器的严格程度,从而允许或阻止那些不一定是一次性的,但已被分类为一次性的域。
- 大小写敏感。
- 通配符敏感。
安装
要求
本包已开发并测试,以确保与以下最低要求兼容
- PHP 8.x
- Laravel 10.x, 11.x
安装包
您可以通过Composer安装此包。服务提供者将自动发现。
composer require veeqtoh/laravel-active-email
发布配置
然后,您可以发布包的配置文件并根据需要更新它
php artisan vendor:publish --provider="Veeqtoh\ActiveEmail\Providers\ActiveEmailProvider"
用法
验证器方法
将notblacklisted
验证器添加到您的电子邮件验证规则数组(或字符串)中,以确保给定的电子邮件地址的域不在黑名单中。我建议您在电子邮件验证器之后添加它,以确保有效的电子邮件通过
'emailField' => 'email|notblacklisted',
或者
'emailField' => ['email', 'notblacklisted'],
类方法
将NotBlackListedEmail
类作为电子邮件验证规则数组的一部分实例化,以确保给定的电子邮件地址的域不在黑名单中。同样,我建议您在电子邮件验证器之后添加它,以确保有效的电子邮件通过
use Veeqtoh\ActiveEmail\Rules\NotBlackListedEmail; 'emailField' => ['email', new NotBlackListedEmail()],
自定义
您可以通过以下特性从配置文件中高度自定义此包
严格模式
此值确定此功能的严格程度。当设置为true
时,灰名单中的域也会被黑名单。
默认开启,但可以在您的.env文件中如下设置
DISPOSABLE_EMAIL_STRICT_MODE=true,
黑名单
这是一个默认黑名单的基础域列表,包括或不包括TLD。将域添加到此列表中以将其黑名单。
灰名单
这是一个默认不黑名单的基础域列表,不包括TLD,除非在严格模式下。将域添加到此列表中,以便在非严格模式下将其列入白名单。请确保域不在黑名单中。
白名单
这是一个默认黑名单的基础域列表,不包括TLD,但您希望绕过它们。
待办事项
总有可以改进此包的地方。我会随着想法的产生不断更新此列表。
- 爬取网络以获取更新的一次性域列表。
- 也许可以为其设置一个计划...
测试
要运行包的单元测试,请运行以下命令:
vendor/bin/pest
安全
如果您发现任何与安全相关的问题,请直接通过victorjohnukam@gmail.com联系我,以便报告。
贡献
如果您想对该包进行任何更改或改进,请随时提交pull request。
注意:将很快添加贡献指南。
变更日志
查看变更日志以获取有关最新更改的更多信息。
升级
查看升级指南以获取有关如何更新此库到新版本的更多信息。
许可证
MIT许可(MIT)。请参阅许可文件以获取更多信息。
支持我
如果您觉得这个包很有用,请考虑赞助此项目。这将鼓励我继续维护它。