masroore / verifyemail
提供验证电子邮件地址的方法。
dev-master
2020-01-27 18:00 UTC
Requires
- php: ^7.1.3
- psr/log: ^1.1
- symfony/cache: ^4.2
- symfony/polyfill-intl-idn: ^1.11
- symfony/polyfill-mbstring: ^1.11
Suggests
- ext-intl: For best performance
- ext-mbstring: For best performance
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/HELO
和MAIL 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电子邮件检查器,电子邮件测试器,电子邮件验证器,电子邮件验证,检查电子邮件地址,验证电子邮件地址,免费电子邮件验证器,测试电子邮件地址,有效电子邮件地址