tintnaingwin/email-checker

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

v2.0.0 2019-11-12 18:04 UTC

This package is auto-updated.

Last update: 2024-09-05 09:55:33 UTC


README

Latest Version on Packagist Software License Total Downloads

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

您可以通过composer安装此包

composer require tintnaingwin/email-checker

包将自动注册自身。

翻译

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

php artisan vendor:publish --provider="Tintnaingwin\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 TintNaingWin\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)。有关更多信息,请参阅许可证文件