hbattat/verifyemail

PHP类,可以轻松用于验证电子邮件地址,并确保它有效且确实存在于邮件服务器上。

v1.0.8 2017-10-28 09:39 UTC

This package is not auto-updated.

Last update: 2024-09-15 23:34:10 UTC


README

*** 重要 *** 此仓库不再维护。

这是一个PHP类,可以轻松用于验证电子邮件地址,并确保它有效且确实存在于邮件服务器上。

该类连接到邮件服务器,并检查邮箱是否存在。

博客文章

描述: http://curlybrac.es/2016/07/25/verifyemail-php-class-to-validate-email-address/

如何配置邮件服务器: http://curlybrac.es/2016/07/27/how-to-configure-a-mail-server/

如何安装(使用composer)

将包添加到 composer.json

{
	"require": {
		"hbattat/verifyemail": "<version number>"
	}
}

然后将自动加载添加到您的文件中

require 'vendor/autoload.php';

就这样,现在您可以开始使用该类了!

如何使用

初始化类

$ve = new hbattat\VerifyEmail('some.email.address@example.com', 'my.email.address@my-domain.com');

或者(您可以指定不同于25的其他端口号)

$ve = new hbattat\VerifyEmail('some.email.address@example.com', 'my.email.address@my-domain.com', 26);

第一个电子邮件地址 'some.email.address@example.com' 是要检查的地址,第二个 'my.email.address@my-domain.com' 是提供给服务器的电子邮件地址。这个电子邮件必须是有效的,并且来自与脚本运行相同的邮件服务器。为确保您的服务器不被视为垃圾邮件或被列入黑名单,请在此处检查服务器的评分 https://mail-tester.com

然后调用验证函数

var_dump($ve->verify());

这将返回一个布尔值。如果电子邮件有效,则为true,否则为false。

bool(true)

如果您想获取任何错误,请在验证函数之后调用此函数

print_r($ve->get_errors());

这将返回一个包含所有错误(如果有)的数组

Array
(
    [0] => No suitable MX records found.
)

如果您想获取所有连接调试消息,请调用此函数

print_r($ve->get_debug());

这将返回一个包含在过程中使用过的所有消息和值的数组。

Array
(
    [0] => initialized with Email: h*****@gmail.com, Verifier Email: sam@verifye.ml, Port: 25
    [1] => Verify function was called.
    [2] => Finding MX record...
    [3] => Found MX: alt4.gmail-smtp-in.l.google.com
    [4] => Connecting to the server...
    [5] => Connection to server was successful.
    [6] => Starting veriffication...
    [7] => Got a 220 response. Sending HELO...
    [8] => Response: 250 mx.google.com at your service

    [9] => Sending MAIL FROM...
    [10] => Response: 250 2.1.0 OK gw8si3985770wjb.84 - gsmtp

    [11] => Sending RCPT TO...
    [12] => Response: 250 2.1.5 OK gw8si3985770wjb.84 - gsmtp

    [13] => Sending QUIT...
    [14] => Looking for 250 response...
    [15] => Found! Email is valid.
)

并且可以查看服务器发送的原始调试消息

print_r($ve->get_debug(true));

这将返回一个数组

Array
(
    [helo] => 250 mx.google.com at your service
    [mail_from] => 250 2.1.0 OK a68si4170774ioe.18 - gsmtp
    [rcpt_to] => 250 2.1.5 OK a68si4170774ioe.18 - gsmtp
    [quit] => 4
)

其他示例

您也可以在初始化后动态修改/设置要验证的电子邮件、验证器电子邮件和端口号的值

$ve->set_email('<another email Address to verify>');
$ve->set_verifier_email('<another verifier email>');
$ve->set_port(<port number>);

注意

  • 一些邮件服务器会静默拒绝测试消息,以防止垃圾邮件发送者检查其用户的电子邮件并过滤有效电子邮件,因此此函数可能无法与所有邮件服务器正常工作。

  • 您必须正确配置服务器作为邮件服务器,以避免被阻止或列入黑名单。这包括SSL、SPF记录、域密钥、DMARC记录等。要检查您的服务器,请使用此工具 https://mail-tester.com