arturbruno / laravel-mailgun-email-validation
使用 Mailgun API 进行三步验证检查的 Laravel 邮箱验证。
1.0.1
2019-06-13 10:40 UTC
Requires
- guzzlehttp/guzzle: ^6.0
Requires (Dev)
- phpunit/phpunit: ^7.0
- psr/log: ^1.0
This package is not auto-updated.
Last update: 2024-09-23 07:43:14 UTC
README
使用 Mailgun API 进行三步验证检查的 Laravel 邮箱验证。
要查找如何在 Laravel 框架中应用验证规则的示例,请查看 验证文档
安装
通过 composer 安装。
composer require kouz/laravel-mailgun-email-validation
对于 Laravel >=5.5,该包将被发现。对于 Laravel <=5.4,将包添加到 config/app.php 中的服务提供者列表中。
<?php
//config/app.php
'providers' => [
Kouz\LaravelMailgunValidation\ServiceProvider::class,
],
发布并填写 config/mailgun-email-validation.php 文件,包含您的 Mailgun API 密钥。
php artisan vendor:publish --provider="Kouz\LaravelMailgunValidation\ServiceProvider"
基本用法
使用以下规则验证您的电子邮件字段。该规则将首先检查地址是否与 PHP 的 FILTER_VALIDATE_EMAIL 匹配,然后调用 Mailgun API。
$request->validate([
'email' => ['required', 'mailgun_email'],
]);
可以添加更多标志到规则中,使验证更严格。
$request->validate([
'email' => ['required', 'mailgun_email:role,disposable,mailbox,strict'],
]);
如果有任何标志存在,将添加以下验证规则
- role 不允许基于角色的地址,如“admin”,“sales”,“webmaster”...
- disposable 不允许一次性电子邮件域名。
- mailbox 调用 ESP 以验证邮箱的存在。添加严格标志以确保 Mailgun 能够验证邮箱并且没有返回“未知”。
- strict 总是要求从 Mailgun 收到响应以验证。默认情况下,如果 API 请求失败,验证将通过。严格标志确保收到了 Mailgun 的响应。
推荐用法
以下配置将尝试检查电子邮件地址的邮箱是否存在并且不是一次性电子邮件地址。如果无法联系 Mailgun 或 Mailgun 无法执行邮箱检查,验证将回退到 PHP 的 FILTER_VALIDATE_EMAIL。
$request->validate([
'email' => ['required', 'mailgun_email:disposable,mailbox'],
]);
许可证
本项目采用 MIT 许可证,您可以在 此许可证 中找到。
反馈
如果您有任何反馈、评论或建议,请随时在此存储库中打开一个问题。
Laravel 验证规则
本包是 Laravel 验证规则集合的一部分。如果您需要更多有用的验证规则,请访问 Laravel 验证规则 网站。