rizwan_47 / email-address-verifier
这是一个用于验证电子邮件地址的PHP库,确保它们是有效的并且可达的。此包提供了一个用于电子邮件验证过程的简单类。
Requires
- php: ^7.4 || ^8.0
This package is not auto-updated.
Last update: 2024-09-30 10:52:26 UTC
README
简介
EmailVerifier库旨在简化全面的电子邮件验证检查,包括语法、域名验证、SMTP连接测试、SPF和DKIM记录验证。这款强大的工具有助于确保电子邮件地址不仅格式正确,而且有效且活跃,对于在PHP中从事电子邮件相关功能的开发者来说是一个宝贵的资源。
关于作者
Shahzad Ahmad Mirza 是一位经验丰富的软件开发者,在PHP开发领域拥有丰富的经验。在超过二十年的职业生涯中,Shahzad为许多项目做出了贡献,并开发了多个高质量的软件解决方案。有关Shahzad工作的更多信息,请访问他的个人网站 his personal website 或他的公司网站 agency website designsvalley.com。
功能
- 语法验证:检查电子邮件地址是否符合标准的电子邮件格式规则。
- 域名验证:验证电子邮件地址的域名是否具有MX记录,表明有能够处理邮件的服务器。
- SMTP检查:尝试建立SMTP连接以验证电子邮件地址的存在和响应性。
- SPF检查:验证SPF记录的存在,这对于防止电子邮件欺骗至关重要。
- DKIM检查:检查DKIM记录,以确保电子邮件未被篡改且由域名所有者授权。
安装
要使用EmailVerifier在你的项目中,通过composer安装包
composer require rizwan_47/email-address-verifier
用法
以下是一个简单的示例,演示如何使用EmailVerifier库验证电子邮件地址
<?php use rizwan_47\EmailVerifier\EmailVerifier; require __DIR__ . '/vendor/autoload.php'; $email = 'contact@example.com'; $verifier = new EmailVerifier($email); $response = $verifier->verify(); echo "<pre>"; print_r($response); echo "</pre>";
此脚本将输出验证结果,包括每个测试的状态和一个表示电子邮件有效性的最终分数。
示例响应
Array
(
[response] => Array
(
[syntax_check] => passed
[domain_check] => passed
[smtp_check] => passed
[spf_check] => passed
[dkim_check] => passed
)
[score] => 10
[email_details] => Array
(
[email_address] => contact@gbober.com
[domain] => gbober.com
[domain_mx_records] => Array
(
[0] => mail.gbober.com
)
[smtp_ports] => Array
(
[0] => 465
)
)
)
响应格式
当你对一个EmailVerifier实例调用verify()方法时,它返回一个关联数组,包含验证过程中的详细结果。以下是响应包括的内容
-
response:一个嵌套数组,包含单个检查的结果,包括
syntax_check:指示电子邮件的语法是否正确(《通过》或《失败》)。domain_check:指示域名是否有MX记录(《通过》或《失败》)。smtp_check:指示SMTP服务器是否接受了电子邮件(《通过》或《失败》)。spf_check:指示SPF记录的存在和正确性(《通过》或《失败》)。dkim_check:指示DKIM记录的存在和正确性(《通过》或《失败》)。
-
score:一个表示检查累积结果的数值分数。每个检查根据其重要性和是否通过向分数贡献预定义的权重。
-
email_details:提供有关电子邮件及其域的附加信息,例如
email_address:正在验证的电子邮件地址。domain:电子邮件地址的域名。domain_mx_records:找到的MX记录的数组或字符串,或错误消息。smtp_ports:列出在验证期间找到开放的SMTP端口。
以下是一个响应示例的外观
Array
(
[response] => Array
(
[syntax_check] => passed
[domain_check] => passed
[smtp_check] => failed
[spf_check] => passed
[dkim_check] => failed
)
[score] => 7
[email_details] => Array
(
[email_address] => contact@example.com
[domain] => example.com
[domain_mx_records] => Array
(
[0] => mx1.example.com
[1] => mx2.example.com
)
[smtp_ports] => Array
(
[0] => 25
[1] => 587
)
)
)
许可
本库遵循MIT许可协议发布。有关更多信息,请参阅LICENSE文件。