elliotjreed/disposable-emails-filter

一个PHP包,用于确定电子邮件地址是否来自临时/一次性电子邮件地址提供商。

4.0.16 2024-09-16 07:33 UTC

README

Contributor Covenant

一次性/临时电子邮件地址过滤器

此包提供了一种方法,用于确定电子邮件地址是否为一次性/临时电子邮件地址。

所有关于一次性/临时电子邮件地址列表的维护功劳都归功于 github.com/disposable-email-domains/disposable-email-domains

该项目及其维护者并不反对使用这种一次性/临时电子邮件地址,但只是允许检测此类地址。

安装

需要PHP 8.1或更高版本。如果需要PHP 7.4到8.0,请使用版本3。

通过Composer安装

composer require elliotjreed/disposable-emails-filter

使用方法

检查器/过滤器可以通过静态或非静态方式使用

<?php

require 'vendor/autoload.php';

use ElliotJReed\DisposableEmail\Email;

if ((new Email())->isDisposable('email@temporarymailaddress.com')) {
    echo 'This is a disposable / temporary email address';
}

<?php

require 'vendor/autoload.php';

use ElliotJReed\DisposableEmail\DisposableEmail;

if (DisposableEmail::isDisposable('email@temporarymailaddress.com')) {
    echo 'This is a disposable / temporary email address';
}

如果提供了无效的 电子邮件地址,则会抛出 InvalidEmailException 异常,因此建议首先检查电子邮件地址是否有效。例如

<?php

require 'vendor/autoload.php';

use ElliotJReed\DisposableEmail\Email;

$email = 'not-a-real-email-address#example.net';

if (filter_var($email, FILTER_VALIDATE_EMAIL)) {
    if ((new Email())->isDisposable($email)) {
        echo 'This is a disposable / temporary email address';
    }
} else {
    echo 'This is not a valid email address';
}

会输出

This is not a valid email address

您还可以提供自己的自定义域名列表,例如在新行分隔的纯文本文件中

example.com
example.net

然后将文件位置传递给构造函数

<?php

require 'vendor/autoload.php';

use ElliotJReed\DisposableEmail\Email;

new Email('/path/to/custom/list.txt');

如果提供了无效的列表,则会抛出 InvalidDomainListException 异常。

开始使用此存储库

系统上应已安装PHP 7.4或更高版本和Composer。

安装Composer

有关安装Composer的说明,请访问 getcomposer.org

安装包

composer require elliotjreed/disposable-emails-filter

开发安装

在克隆此存储库后,切换到新创建的目录并运行

composer install

或如果您已本地安装Composer

php composer.phar install

这将安装项目所需的所有依赖项。

运行测试

可以通过执行以下命令运行所有测试

composer run-script test

phpunit 将自动在 test 目录中找到所有测试并根据 phpunit.xml 文件中的配置运行它们。

构建工具

许可证

此项目受MIT许可证的许可 - 有关详细信息,请参阅LICENCE 文件。