laravel-validation-rules/email-validation-mailgun

用于 https://github.com/TheoKouzelis/laravel-mailgun-email-validation 的元包

1.0.0 2018-07-29 21:07 UTC

This package is auto-updated.

Last update: 2024-08-29 04:48:31 UTC


README

使用 Mailgun API 进行三步验证检查的电子邮件验证。

要查看如何在 Laravel 框架中应用验证规则,请参阅验证文档

安装

通过 composer 需求。

composer require laravel-validation-rules/email-validation-mailgun

对于 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 验证规则网站。