madeitbelgium/verifyemail

PHP Laravel 类,用于验证电子邮件地址并确保其有效且在邮件服务器上存在。

1.1.0 2020-09-08 19:14 UTC

This package is auto-updated.

Last update: 2024-09-11 19:33:05 UTC


README

Build Status Coverage Status Latest Stable Version Latest Unstable Version Total Downloads License

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

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

安装

在您的 composer.json 中添加此包并更新 composer。

"madeitbelgium/verifyemail": "~1.0"

发布配置文件。设置正确的电子邮件地址。

php artisan vendor:publish

文档

用法

use MadeITBelgium\VerifyEmail\Facades\VerifyEmail;

$ve = VerifyEmail::verify('some.email.address@example.com');

或者(您可以设置另一个第二电子邮件地址或更改端口号)

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

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

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

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

print_r(VerifyEmail::getErrors());

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

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

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

print_r(VerifyEmail::getDebug());

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

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(VerifyEmail::getDebug(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
)

注意

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

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

支持

支持 github 或邮件: tjebbe.lievens@madeit.be

贡献

请尽量遵循 psr-2 编码风格指南。 http://www.php-fig.org/psr/psr-2/

许可

此软件包受 LGPL 许可。您可以在个人和商业项目中免费使用它。代码可以被分支和修改,但原始版权作者应始终被包含在内!