elbgoods/laravel-trashmail-rule

Laravel 验证规则,用于防止垃圾邮件电子邮件地址。

1.1 2023-02-15 21:03 UTC

This package is auto-updated.

Last update: 2024-09-16 00:34:40 UTC


README

Latest Version MIT License Offset Earth

GitHub Workflow Status Total Downloads

此软件包提供了一种验证规则,用于防止垃圾邮件电子邮件地址。

安装

首先,您需要将此软件包添加到您的 composer.json

composer require elbgoods/laravel-trashmail-rule

之后,您可以发布软件包翻译文件以调整错误消息

php artisan vendor:publish --provider="Elbgoods\TrashmailRule\TrashmailRuleServiceProvider" --tag=lang
php artisan vendor:publish --provider="Elbgoods\TrashmailRule\TrashmailRuleServiceProvider" --tag=config

配置

该软件包提供了一种配置,用于定义规则行为。

拒绝的域名

您可以添加自己的拒绝域名列表,这些域名将被始终阻止。

允许的域名

您可以添加自己的允许域名列表,这些域名将被始终允许通过。

支持的提供者

使用方法

验证规则

此软件包提供了一个基本的 TrashmailRule,您可以使用它。所有更具体的规则都通过预定义的 format 扩展此规则。

use Elbgoods\TrashmailRule\Rules\TrashmailRule;

$rule = new TrashmailRule();

默认情况下,规则需要值 - 如果您想接受 null 值,您可以使用 nullable() 方法或设置 $required 参数为 false

use Elbgoods\TrashmailRule\Rules\TrashmailRule;

$rule = new TrashmailRule(false);
$rule->nullable();

外观

您还可以使用外观来检查验证之外的任何电子邮件地址。这将运行与验证规则相同的逻辑,并运行配置中设置的 所有提供者。

use Elbgoods\TrashmailRule\Facades\Trashmail;

Trashmail::isDisposable('example@elbgoods.de');

单个提供者

您还可以仅使用单个提供者进行检查。请注意,所有提供者仅接受要检查的域名,而不是完整的电子邮件地址。外观提供了一个方法,该方法返回电子邮件地址中使用的域名。

use Elbgoods\TrashmailRule\Facades\Trashmail;

Trashmail::provider('config')->isDisposable(
    Trashmail::getDomain('example@elbgoods.de')
);

自定义提供者

如果您想添加自己的提供者,您也可以这样做。

use Elbgoods\TrashmailRule\Facades\Trashmail;
use Illuminate\Contracts\Container\Container;
use Elbgoods\TrashmailRule\Contracts\ProviderContract;

Trashmail::extend('custom_provider', static function (Container $app): ProviderContract {
    return new CustomProvider();
});

变更日志

有关最近更改的更多信息,请参阅 CHANGELOG

版本控制

此软件包遵循 语义版本控制

贡献

有关详细信息,请参阅 CONTRIBUTING

安全性

有关详细信息,请参阅 SECURITY

致谢

许可证

MIT 许可证 (MIT)。有关更多信息,请参阅 许可证文件

开源软件

您可以自由使用此软件包,但如果它进入您的生产环境,我们非常希望您购买或为世界种一棵树。

众所周知,解决气候危机并保持我们的温度不超过 1.5C 的最佳工具之一是 种植树木。如果您为我的森林做出贡献,您将为当地家庭创造就业机会并恢复野生动物栖息地。

您可以在 offset.earth/treeware 购买树木。

有关 Treeware 的更多信息,请参阅 https://treeware.earth