📌  相关文章
📜  laravel 检查电子邮件是否真实 - PHP (1)

📅  最后修改于: 2023-12-03 15:02:37.572000             🧑  作者: Mango

Laravel 检查电子邮件是否真实 - PHP

在 Web 应用程序中,经常需要验证用户提供的电子邮件地址是否真实有效。 Laravel 框架提供了一个轻松的方式来验证电子邮件地址。

验证

通过 Illuminate\Validation\Validator 类, Laravel 提供了一个内置的验证器规则 email 用于验证电子邮件地址。该规则会检查电子邮件的格式是否正确,但是它并不会检查电子邮件地址是否真实有效。

因此,为了验证电子邮件地址是否真实有效,我们需要使用第三方库来帮助我们完成这个任务。

Laravel 推荐了 MailboxValidatorZeroBounce 这两个服务来进行电子邮件地址验证。它们提供了一个简单方便的 API 来检查电子邮件地址是否可用。

接下来,我们将通过使用 MailboxValidator 来检查电子邮件地址是否真实有效。

安装

在使用 MailboxValidator 服务之前,我们需要先安装它的 PHP 客户端库。在 Laravel 中,我们可以使用 Composer 来完成安装。

composer require mailboxvalidator/mailboxvalidator-php
配置

在安装完成之后,我们需要在 .env 文件中配置邮箱地址和 API 密钥,以便我们的程序可以访问 MailboxValidator 服务。

MBV_API_KEY=<your_api_key>
MBV_EMAIL=<your_email_address>
代码

接下来,我们将编写代码来检查电子邮件地址是否真实有效。

use MailboxValidator\EmailValidation\EmailValidationApi;

function checkEmail($email) {
    $api_key = env('MBV_API_KEY');
    $mbv = new EmailValidationApi($api_key);
    $result = $mbv->ValidateEmail($email);

    if ($result->error_code === 'smtp_connect_error') {
        return false;
    }

    return $result->status === 'False' ? false : true;
}

$email = 'test@example.com';
if (checkEmail($email)) {
    echo "Valid email: $email";
} else {
    echo "Invalid email: $email";
}

代码片段:

```php
use MailboxValidator\EmailValidation\EmailValidationApi;

function checkEmail($email) {
    $api_key = env('MBV_API_KEY');
    $mbv = new EmailValidationApi($api_key);
    $result = $mbv->ValidateEmail($email);

    if ($result->error_code === 'smtp_connect_error') {
        return false;
    }

    return $result->status === 'False' ? false : true;
}

$email = 'test@example.com';
if (checkEmail($email)) {
    echo "Valid email: $email";
} else {
    echo "Invalid email: $email";
}