aman00323 / emailchecker
Laravel 邮箱地址存在性检查包
Requires
- php: >=7.0.0
Requires (Dev)
- orchestra/testbench: ~3.6.0|~3.7.0|~3.8.0
- phpunit/phpunit: ^7.0|^8.0
This package is auto-updated.
Last update: 2024-08-30 01:17:42 UTC
README
Email Checker 由 Aman Nurani 创建和维护。它为 Laravel 的开发和生产提供强大的电子邮件验证系统。它使用 fsockopen()、cURL 等多种方式验证电子邮件地址在现实世界中是否存在。
如今,大多数网站都使用注册流程,需要验证用户的拥有权。大多数开发者通过发送邮件验证链接来验证电子邮件,这样会在数据库中存储额外的电子邮件(如果它们在现实中不存在)。此外,有些人使用 一次性电子邮件 进行临时使用。
🎉 我们拥有超过 25,000 个一次性域名列表 🎉
此包将帮助您验证电子邮件安装
Email Checker 需要 PHP > 7.0。这个特定版本支持最新的 Laravel。
要获取最新版本,只需使用 Composer 依赖项目
$ composer require aman00323/emailchecker
安装完成后,您需要包含 Aman\EmailVerifier\EmailChecker
以访问电子邮件验证的方法。
使用
检查一次性电子邮件
如果您想检查电子邮件是否为 一次性电子邮件,则可以使用以下 emailchecker 函数
添加了检查一次性电子邮件的新选项
此选项是 checkDisposableEmail() 方法的部分,您需要将第二个参数传递为 true。
当您传递 true 时,辅助工具将使用托管在 gist 上的列表中的可丢弃电子邮件检查电子邮件。因此,每当列表更改时,您就无需更新包。
app(EmailChecker::class)->checkDisposableEmail('something@example.com','boolean'));
此电子邮件验证将基于 一次性电子邮件 列表进行,此函数将检查输入的电子邮件地址是否在可丢弃列表中。
检查 DNS 和 MX 记录
为了获得更好的输出,您需要为此方法设置发件人电子邮件地址
app(EmailChecker::class)->setFromEmail('something@example.com','boolean'));
或在 .env 中设置 ENV 变量
EMAIL_CHECKER_SET_FROM='something@example.com'
另一种用法是检查电子邮件地址的 DNS 和 MX 记录。在此方法中,包将尝试从电子邮件地址中提取记录并尝试使用 SMTP 进行验证。
如果此方法成功提取记录,则它将尝试使用 fsockopen() 在电子邮件地址上发送 HELLO 消息,如果它从邮件服务器获取有效状态,则返回 true。此外,如果未验证详细信息,函数也将返回 true。
app(EmailChecker::class)->checkMxAndDnsRecord('something@example.com'));
这将返回包含成功和详细信息的数组,详细信息将指示电子邮件是否验证以及是否存在任何异常。
为了获得更好的输出,您的服务器需要支持fsockopen()。
检查域名状态
有时仅根据DNS和MX记录很难确定电子邮件是否存在,因此该方法将使用cURL检查域名状态。
此方法确保提供的电子邮件具有有效的域名。
app(EmailChecker::class)->checkDomain('something@example.com'));
此方法将返回TRUE或FALSE,如果成功获取响应,则返回TRUE。响应基于HTTP状态代码进行验证。
检查电子邮件
此方法将使用所有方法,并提供详细响应,如果返回TRUE。
如果任何方法返回FALSE,则不会提供详细报告。
app(EmailChecker::class)->checkEmail('something@example.com','boolean'));
我们已为checkDisposableEmail()添加了新选项,该选项的第二个参数将启用深度检查,以将域名与大型列表进行比较。
不用担心,这不会花费太多时间。😄
所有这些都是不同的方法,您可以根据需要单独使用。要一次性调用所有方法,请使用检查电子邮件。
未来开发
请提出您的想法,以改进此包。
贡献
所有贡献者都受欢迎,代码必须遵循PSR2。创建功能分支与电子邮件检查器进行比较。您的代码必须通过测试用例。
注意:此包不能保证验证每个电子邮件地址,其中一些由于MAIL服务器安全性问题无法验证。