oskonnikov/email-checker

Laravel 包用于验证电子邮件地址是否存在,无需发送电子邮件

2.0.0 2023-10-10 12:29 UTC

This package is auto-updated.

Last update: 2024-09-10 14:16:01 UTC


README

Latest Version on Packagist Software License Total Downloads

注意 - 该工具会从电子邮件地址中提取MX记录并连接到邮件服务器以确保电子邮件地址准确存在。因此,在本地可能会有较慢的加载时间,并且某些合作的MX记录可能需要较长时间。

您可以通过composer安装此包

composer require oskonnikov/email-checker

该包将自动注册自身。

翻译

如果您想编辑包的翻译,可以运行以下命令将它们发布到您的 resources/lang 文件夹

php artisan vendor:publish --provider="Oskonnikov\EmailChecker\EmailCheckerServiceProvider"

功能

该包支持

  • 使用SMTP进行验证
  • 支持一次性电子邮件

用法

表单请求验证

在电子邮件属性中添加 'email_checker'

    // [your site path]/app/Http/Requests/RegisterRequest.php
    public function rules()
    {
        return [
               'name' => 'required|string|max:255',
               'email' => 'required|string|email|max:255|unique:users|email_checker',
               'password' => 'required|string|min:6|confirmed',
        ];
    }

在 RegisterController 中

    // [your site path]/app/Http/Controllers/Auth/RegisterController.php
    protected function validator(array $data)
    {
        return Validator::make($data, [
            'name' => ['required', 'string', 'max:255'],
            'email' => 'required|string|email|max:255|unique:users|email_checker',
            'password' => ['required', 'string', 'min:8', 'confirmed'],
        ]);
    }

使用规则对象

    use Oskonnikov\EmailChecker\Rules\EmailExist;

    $request->validate([
        'email' => ['required', 'string', 'email', 'max:255', 'unique:users', new EmailExist],
    ]);

使用外观进行使用

您还可以手动检查电子邮件

// reture boolean
EmailChecker::check('me@example.com');

测试

使用以下命令运行测试

composer test

信用

变更日志

请参阅 CHANGELOG 了解最近更改的详细信息。

安全

如果您发现任何安全相关的问题,请通过电子邮件 amigo.k8@gmail.com 而不是使用问题跟踪器。

许可协议

MIT 许可协议(MIT)。请参阅 许可文件 了解更多信息。