使い捨て(一時的/スローアウェイ/偽)の電子メールアドレスを検出するPHPパッケージ。フレームワークに依存しており、依存関係はありませんが、Laravelのサポートが含まれています。電子メールアドレスが本物であることを確認するために検証します。これは、アカウントのサインアップを管理し、システム内の正当な電子メールアドレスの数を評価するのに役立ちます。
このツールは、通信エラーを回避し、スパムアドレスをブロックするのにも役立ちます。
見た目は、使い捨ての電子メールドメインがネイティブPHPハッシュセットを使用してローカルに保存されているため、超高速O(1)です。
?使い捨ての電子メールドメインのリストは、信頼できる外部ソースから定期的に自動的に更新されます。
注記
Laravelの特定の指示については、以下をお読みください。
次のコマンドを使用して、作曲家とのこのパッケージが必要です。
composer require beeyev/disposable-email-filter-phpメールアドレスが使い捨てであるかどうかを簡単に確認してください。
<?php
require __DIR__ . ' /vendor/autoload.php ' ;
use Beeyev DisposableEmailFilter DisposableEmailFilter ;
$ disposableEmailFilter = new DisposableEmailFilter ();
// Check if email address is disposable
$ disposableEmailFilter -> isDisposableEmailAddress ( ' [email protected] ' ); // false
$ disposableEmailFilter -> isDisposableEmailAddress ( ' [email protected] ' ); // true注:ホワイトリストドメインは、ブラックリストドメインよりも優先度が高くなります。
<?php
require __DIR__ . ' /vendor/autoload.php ' ;
use Beeyev DisposableEmailFilter DisposableEmailFilter ;
$ disposableEmailFilter = new DisposableEmailFilter ();
// Add multiple custom domains to blacklist
$ disposableEmailFilter -> blacklistedDomains ()-> addMultiple ([ ' mailinator.com ' , ' 10minute-mail.org ' ]);
// Add one domain to whitelist
$ disposableEmailFilter -> whitelistedDomains ()-> add ( ' tempmailer.com ' );
$ disposableEmailFilter -> isDisposableEmailAddress ( ' [email protected] ' ); // false (because it's whitelisted now)
$ disposableEmailFilter -> isDisposableEmailAddress ( ' [email protected] ' ); // true
$ disposableEmailFilter -> isDisposableEmailAddress ( ' [email protected] ' ); // true
$ disposableEmailFilter -> isDisposableEmailAddress ( ' [email protected] ' ); // falseコンストラクターの依存関係を使用して、ブラックリストとホワイトリストのドメインを追加することもできます。
use Beeyev DisposableEmailFilter CustomEmailDomainFilter CustomEmailDomainFilter ;
use Beeyev DisposableEmailFilter DisposableEmailFilter ;
$ blacklistedDomains = new CustomEmailDomainFilter ([ ' blacklisted1.com ' , ' blacklisted2.com ' , ' blacklisted3.com ' ]);
$ whitelistedDomains = new CustomEmailDomainFilter ([ ' abc2.com ' , ' whitelisted1.com ' ]);
$ disposableEmailFilter = new DisposableEmailFilter ( $ blacklistedDomains , $ whitelistedDomains );
$ disposableEmailFilter -> isDisposableEmailAddress ( ' [email protected] ' ); // false - whitelisted注:
CustomEmailDomainFilterInterfaceを実装するカスタムクラスを作成することにより、独自のろ過ロジックを開発できます
無効な電子メール形式で空の文字列または文字列を渡そうとすると、例外がスローされます。
use Beeyev DisposableEmailFilter DisposableEmailFilter ;
use Beeyev DisposableEmailFilter Exceptions InvalidEmailAddressException ;
$ disposableEmailFilter = new DisposableEmailFilter ();
try {
$ disposableEmailFilter -> isDisposableEmailAddress ( ' john:gmail.com ' ); // Exception will be thrown because of invalid email format
} catch ( InvalidEmailAddressException $ e ) {
echo $ e -> getMessage ();
}メールアドレスが無効である可能性があり、コードをtry/catchにラップしたくない場合は、
isDisposableEmailAddressSafeメソッドを使用して、消耗品であるかどうかを確認する前に、メールアドレスが正しくフォーマットされているかどうかを確認できます。
$ disposableEmailFilter = new DisposableEmailFilter ();
$ emailAddress = ' john:gmail.com ' ;
if ( $ disposableEmailFilter -> isEmailAddressValid ( $ emailAddress )) {
$ disposableEmailFilter -> isDisposableEmailAddress ( $ emailAddress );
}このパッケージには、Laravelのサービスプロバイダーとフォーム検証ルールが含まれています。
composer require beeyev/disposable-email-filter-phpパッケージは、Laravel Autoscoveryメカニズムを使用して自動的に登録されます。
ただし、手動で行う必要がある場合は、 config/app.phpファイルのproviders配列に次の行を追加できます。
Beeyev DisposableEmailFilter Adapters Laravel DisposableEmailFilterServiceProvider::class,検証ルールnot_disposable_emailまたはオブジェクトnew NotDisposableEmail()を使用して、特定のフィールドに使い捨てのメールアドレスが含まれていないことを確認します。
注記
email電子メールバリーターの後に配置して、有効な電子メールのみが処理されていることを確認します。
例:
// Using validation rule name:
' email_field ' => ' required|email|not_disposable_email ' ,
// Or using a validation rule object:
' email_field ' => [ ' email ' , new NotDisposableEmail ()], DisposableEmailファサードを使用して、 DisposableEmailFilterインスタンスにアクセスできます。
use Beeyev DisposableEmailFilter Adapters Laravel Facades DisposableEmail ;
DisposableEmail:: isEmailAddressValid ( ' [email protected] ' );オプションで、構成ファイルと翻訳を公開して、パッケージの動作をカスタマイズできます。
php artisan vendor:publish --tag=disposable-email-filterこのコマンドはlang/vendor/disposable-email-filterディレクトリのconfigおよび翻訳ファイルにdisposable-email-filter.php構成ファイルを作成します。
使い捨ての電子メールドメインのリストは定期的に更新されるため、パッケージを最新の状態に保つことが重要です。
リストが更新されるたびに、パッケージの新しいPATCHバージョンがリリースされます。
これらの更新は安全で壊れていないため、このComposerコマンドを介してパッケージを更新できます。
composer update beeyev/disposable-email-filter-phpこのコマンドは、プロジェクトが展開される前に、CI/CDパイプラインで毎回実行できます。
新しい機能を追加したり、既存の機能を改善したり、バグを修正したりする場合は、このプロジェクトに自由に貢献してください。
新しい使い捨てドメインを追加するには、 blacklist.txtファイルを更新して、プルリクエストを作成できます。
または、ブラックリストやホワイトリストに追加するドメインで問題を開くことができます。
7c/fakefilterFGRibreau/mailcheckerdisposable-email-domainsローカルブラックリストとホワイトリストは、blacklist.txtおよびwhitelist.txtファイルに保存されます。
GitHub Issueトラッカーでバグレポートと機能リクエストを提出できます。
MITライセンス(MIT)。詳細については、ライセンスファイルをご覧ください。
あなたがこのプロジェクトが好きなら、私に与えることを検討してください