masroore/verifyemail

提供验证电子邮件地址的方法。

dev-master 2020-01-27 18:00 UTC

This package is auto-updated.

Last update: 2024-08-28 04:01:08 UTC


README

厌倦了那些令人讨厌的虚假电子邮件地址在你的提交表单中吗?

EmailAddressVerifier类让你可以验证电子邮件地址的正确语法,以及可选的,是否存在。

可以使用EmailAddressVerifier::validationLevel属性(由AddressValidationLevel类定义)设置以下验证级别:

  • 语法检查 - 通过执行语法检查来验证电子邮件地址。
  • DNS查询 - 对电子邮件地址字符串中的域名部分进行DNS MX查找,以找到负责将电子邮件发送到该域的SMTP MX主机。
  • SMTP连接 - 测试连接到SMTP MX主机。
  • 发送尝试 - 测试连接,发送EHLO/HELOMAIL FROM命令,并在RCPT TO命令中提交给定的电子邮件地址字符串。这模拟了正常的发送尝试,只是不发送实际的消息数据。如果服务器接受收件人并表示“是的,我已准备好接收消息数据”,则组件将重置连接并断开连接,报告该地址是正确的。

如何安装(使用composer)

使用composer安装...

composer require "masroore/verifyemail"

使用普通的PHP

require 'vendor/autoload.php';

使用方法:检查电子邮件地址

要执行PHP电子邮件验证,将VerifyEmail命名空间导入到你的代码中

use VerifyEmail\EmailAddressVerifier;
use VerifyEmail\Utils;

要验证PHP项目中的电子邮件地址,使用EmailAddressVerifier::verify()方法。

默认情况下,EmailAddressVerifier.validationLevel已经是SendAttempt(可用的最先进的电子邮件地址检查)。因此我们不需要明确设置此模式来执行对电子邮件地址的所有可能的检查。

$verifier = new EmailAddressVerifier();
$verifier->setMailFrom('sender@domain.tld');
$verifier->setHelloDomain('domain.tld');
$verifier->setValidationLevel(AddressValidationLevel::SendAttempt);
$result = $verifier->verify('check_email@domain.tld');

if ($result === AddressValidationLevel::OK) {
    echo 'Email verified';
}

前面的示例通过实例化EmailAddressVerifier对象来检查有效的电子邮件地址。对于PHP项目中的快速表单验证,你可以使用EmailAddressVerifier::validate()便捷方法代替

$level = null;
if (EmailAddressVerifier::validate($email, $level)) {
    echo 'Email verified';
}

PHP电子邮件检查器,电子邮件测试器,电子邮件验证器,电子邮件验证,检查电子邮件地址,验证电子邮件地址,免费电子邮件验证器,测试电子邮件地址,有效电子邮件地址