rizwan_47/email-address-verifier

这是一个用于验证电子邮件地址的PHP库,确保它们是有效的并且可达的。此包提供了一个用于电子邮件验证过程的简单类。

1.1 2024-06-10 09:07 UTC

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文件。