PHP -Paket, das Einweg -E -Mail -Adressen (temporär/weggeworfen/gefälscht) erkennt. Es ist Framework-Agnostic und hat keine Abhängigkeiten, sondern beinhaltet die Unterstützung von Laravel. Es bestätigt E-Mail-Adressen, um sicherzustellen, dass sie echt sind, was für die Verwaltung von Kontokonto-Anmeldungen und zur Beurteilung der Anzahl der legitimen E-Mail-Adressen in Ihrem System nützlich ist.
Dieses Tool hilft auch dabei, Kommunikationsfehler und -Sblöcke Spam -Adressen zu vermeiden.
Die Suche ist superschnell O(1) , da Einweg -E -Mail -Domänen lokal unter Verwendung eines nativen PHP -Hash -Sets gespeichert werden.
? Die Liste der verfügbaren E -Mail -Domänen wird regelmäßig automatisch aus vertrauenswürdigen externen Quellen aktualisiert.
Notiz
Lesen Sie unten für Laravel spezifische Anweisungen.
Erfordern Sie dieses Paket mit dem Komponisten mit dem folgenden Befehl:
composer require beeyev/disposable-email-filter-phpEinfache Überprüfen Sie, ob die E -Mail -Adresse verfügbar ist:
<?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] ' ); // trueHINWEIS: Whitelisted Domains haben eine höhere Priorität als auf schwarze Liste.
<?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] ' ); // falseEs ist auch möglich, mit der Konstruktorabhängigkeit auf die schwarze Liste und die Whitelisted Domänen hinzuzufügen:
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 - whitelistedHinweis: Sie können Ihre eigene Filtrationslogik entwickeln, indem Sie eine benutzerdefinierte Klasse erstellen, die das
CustomEmailDomainFilterInterfaceimplementiert
Wenn Sie versuchen, eine leere Zeichenfolge oder eine Zeichenfolge mit ungültigem E -Mail -Format zu übergeben, wird eine Ausnahme ausgelöst.
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 ();
} Wenn Sie erwarten, dass diese E -Mail -Adresse möglicherweise ungültig ist und den Code nicht in Try/Catch einpacken möchte,
Sie können die isDisposableEmailAddressSafe -Methode verwenden, um zu überprüfen, ob die E -Mail -Adresse korrekt formatiert ist, bevor Sie überprüfen, ob sie verfügbar ist:
$ disposableEmailFilter = new DisposableEmailFilter ();
$ emailAddress = ' john:gmail.com ' ;
if ( $ disposableEmailFilter -> isEmailAddressValid ( $ emailAddress )) {
$ disposableEmailFilter -> isDisposableEmailAddress ( $ emailAddress );
}Dieses Paket enthält einen Dienstanbieter und eine Formularvalidierungsregel für Laravel.
composer require beeyev/disposable-email-filter-php Das Paket wird automatisch mit Laravel Auto-Discovery-Mechanismus registriert.
Wenn Sie dies jedoch manuell tun müssen, können Sie das providers in der Datei config/app.php die folgende Zeile hinzufügen:
Beeyev DisposableEmailFilter Adapters Laravel DisposableEmailFilterServiceProvider::class, Verwenden Sie die Validierungsregel not_disposable_email oder Object new NotDisposableEmail() , um zu überprüfen, ob ein bestimmtes Feld keine verfügbare E -Mail -Adresse enthält.
Notiz
❗ Platzieren Sie es nach dem E -Mail -Validator, um sicherzustellen, dass nur gültige E -Mails verarbeitet werden.
Beispiel:
// Using validation rule name:
' email_field ' => ' required|email|not_disposable_email ' ,
// Or using a validation rule object:
' email_field ' => [ ' email ' , new NotDisposableEmail ()], Sie können die DisposableEmail -Fassade verwenden, um auf die Instanz DisposableEmailFilter zuzugreifen:
use Beeyev DisposableEmailFilter Adapters Laravel Facades DisposableEmail ;
DisposableEmail:: isEmailAddressValid ( ' [email protected] ' );Optional können Sie die Konfigurationsdatei und Übersetzungen veröffentlichen, um das Paketverhalten anzupassen:
php artisan vendor:publish --tag=disposable-email-filter Dieser Befehl erstellt im Verzeichnis lang/vendor/disposable-email-filter eine disposable-email-filter.php - config und Übersetzungsdateien.
Da die Liste der verfügbaren E -Mail -Domänen regelmäßig aktualisiert wird, ist es wichtig, das Paket auf dem neuesten Stand zu halten.
Eine neue PATCH -Version des Pakets wird veröffentlicht, wenn die Liste aktualisiert wird.
Diese Updates sind sicher und nicht sprechend, sodass Sie das Paket über diesen Komponistenbefehl aktualisieren können:
composer update beeyev/disposable-email-filter-phpSie können diesen Befehl jedes Mal in CI/CD -Pipelines ausführen, bevor das Projekt bereitgestellt wird.
Fühlen Sie sich frei, zu diesem Projekt beizutragen, wenn Sie neue Funktionen hinzufügen, vorhandene Fehlern verbessern oder Fehler beheben möchten.
Um neue verfügbare Domänen hinzuzufügen, können Sie die blacklist.txt -Datei aktualisieren und eine Pull -Anforderung erstellen.
Alternativ können Sie ein Problem mit den Domänen eröffnen, die Sie zur schwarzen Liste oder der Whitelist hinzugefügt werden möchten.
7c/fakefilterFGRibreau/mailcheckerdisposable-email-domainsLokale Blacklist und Whitelist werden in den Dateien Blacklist.txt und Whitelist.txt gespeichert.
Fehlerberichte und Feature -Anfragen können im GitHub -Problem Tracker gesendet werden.
Die MIT -Lizenz (MIT). Weitere Informationen finden Sie unter Lizenzdatei.
Wenn Sie dieses Projekt lieben, sollten Sie mir bitte eine geben