kouz/laravel-mailgun-email-validation

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

1.2.0 2020-11-05 18:16 UTC

This package is auto-updated.

Last update: 2024-09-06 16:45:47 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能够验证邮箱并且没有返回"Unknown"。
  • strict 总是要求从Mailgun获取响应以验证。默认情况下,如果API请求失败,验证将通过。严格标志确保收到了Mailgun的响应。

推荐用法

以下配置将尝试检查电子邮件地址的邮箱是否存在且不是一次性电子邮件地址。如果无法联系Mailgun或Mailgun无法执行邮箱检查,验证将回退到PHP的FILTER_VALIDATE_EMAIL。

$request->validate([
    'email' => ['required', 'mailgun_email:disposable,mailbox'],
]);

许可证

本项目采用MIT许可证,您可以在此许可证中找到。

反馈

如果您有任何反馈、评论或建议,请随时在此存储库中创建一个问题。

Laravel验证规则

该包是Laravel验证规则集合的一部分。如果您需要更多有用的验证规则,请访问Laravel验证规则网站。