sorciulus / email-checker
使用 SMTP 的 PHP 邮箱验证器
0.3.1
2017-10-18 08:54 UTC
Requires
- php: >=7.0
- guzzlehttp/guzzle: ~6.0
- miyahan/telnet: ^1.1
Requires (Dev)
This package is auto-updated.
Last update: 2024-08-29 04:14:43 UTC
README
PHP 库,用于检查邮件是否存在于 SMTP 服务器上,并从 https://open.kickbox.io API 检查邮件是否可弃用。
安装
通过 Composer
composer require sorciulus/email-checker
用法
使用 email 参数构造函数的基本用法 EmailChecker
<?php require_once 'vendor/autoload.php'; use sorciulus\EmailChecker\EmailChecker; use sorciulus\EmailChecker\Exception\EmailCheckerException; try { $check = new EmailChecker("foo@rmqkr.net", "sender@email.com"); $result = $check->validate()->isValid(); // instance of ResponseChecker if ($result) { echo "Email is valid"; } else { echo "Email not valid"; } } catch (EmailCheckerException $ex) { echo $ex->getMessage(); }
使用 EmailChecker 检查邮件是否可弃用
<?php require_once 'vendor/autoload.php'; use sorciulus\EmailChecker\EmailChecker; use sorciulus\EmailChecker\Exception\EmailCheckerException; try { $check = new EmailChecker(); $disponsibleService = $check->getDisponsableService(); // You can use email or domain if ($disponsibleService->isDisponsable("gucu@asorent.com")) { echo "Email is disponsable"; } else { echo "Email not disponsable"; } } catch (EmailCheckerException $ex) { echo $ex->getMessage(); }
使用 setEmail 方法的循环用法 EmailChecker
<?php require_once 'vendor/autoload.php'; use sorciulus\EmailChecker\EmailChecker; use sorciulus\EmailChecker\Exception\EmailCheckerException; $emails = ["bar@rmqkr.net", "foo@rmqkr.net", "vakol@yopmail.com"]; $check = new EmailChecker("vufeti@vipepe.com"); // you can set Sender outside loop // $check->setSender("sender@email.com"); foreach($emails as $email) { try { // or you can set Sender inside loop //$check->setSender("sender@email.com"); $check->setEmail($email); $result = $check->validate()->isValid(); // instance of ResponseChecker if ($result) { echo "Email is valid"; } else { echo "Email not valid"; } } catch (EmailCheckerException $ex) { echo $ex->getMessage(); } }
在 ResponseChecker 对象和 EmailCheckerException 中始终存在调试信息
try { $check = new EmailChecker("foo@rmqkr.net"); $result = $check->validate(); // instance of ResponseChecker $debug = $result->getDebug(); if ($result->isValid()) { echo "Email is valid"; } else { echo "Email not valid"; } } catch (EmailCheckerException $ex) { $debug = $ex->getDebug(); echo $ex->getMessage(); }
调试是一个包含执行的 SMTP 命令及其相对响应的数组。
在大量使用的情况下,我建议使用机器端代理。
Laravel 5
完成此操作后,只需将服务提供者类添加到项目的 config/app.php
文件中
服务提供者
sorciulus\EmailChecker\Laravel\EmailCheckerServiceProvider::class,
外观
要使用外观,您必须在 config/app.php
中的别名数组中添加此行
'EmailChecker' => sorciulus\EmailChecker\Laravel\Facades\EmailChecker::class,
使用外观的示例用法
use \EmailChecker; use sorciulus\EmailChecker\Exception\EmailCheckerException; try{ EmailChecker::setEmail("foo@rmqkr.net"); $validate = EmailChecker::validate(); if ($validate->isValid()) { echo "Email is valid"; } else { echo "Email not valid"; } } catch (EmailCheckerException $e) { echo $e->getMessage(); }
待办事项
- 与 Symfony2 集成
许可
本库根据 MIT 许可证发布。有关更多信息,请参阅许可证文件。