Paquete PHP que detecta direcciones de correo electrónico desechables (temporales/desechables/falsas). Es el marco-agnóstico y no tiene dependencias, pero incluye soporte para Laravel. Valida las direcciones de correo electrónico para garantizar que sean genuinas, lo que es útil para administrar las registros de cuentas y evaluar la cantidad de direcciones de correo electrónico legítimas en su sistema.
Esta herramienta también ayuda a evitar errores de comunicación y bloquea las direcciones de spam.
La búsqueda es súper rápida O(1) porque los dominios de correo electrónico desechables se almacenan localmente utilizando un conjunto de hash PHP nativo.
? La lista de dominios de correo electrónico desechables se actualiza regularmente automáticamente de fuentes externas confiables.
Nota
Lea a continuación para obtener instrucciones específicas de Laravel.
Requiere este paquete con el compositor usando el siguiente comando:
composer require beeyev/disposable-email-filter-phpCompruebe simple si la dirección de correo electrónico es desechable:
<?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] ' ); // trueNota: Los dominios con la lista blanca tienen una prioridad más alta que los dominios en la lista negra.
<?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] ' ); // falseTambién es posible agregar dominios en la lista negra y la lista blanca utilizando la dependencia del constructor:
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 - whitelistedNota: puede desarrollar su propia lógica de filtración creando una clase personalizada que implementa
CustomEmailDomainFilterInterface
Si intenta pasar una cadena o cadena vacía con un formato de correo electrónico no válido, se lanzará una excepción.
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 ();
} Si espera que esa dirección de correo electrónico sea inválida y no quiera envolver el código en Try/Catch,
Puede usar el método isDisposableEmailAddressSafe para verificar si la dirección de correo electrónico está formateada correctamente antes de verificar si es desechable:
$ disposableEmailFilter = new DisposableEmailFilter ();
$ emailAddress = ' john:gmail.com ' ;
if ( $ disposableEmailFilter -> isEmailAddressValid ( $ emailAddress )) {
$ disposableEmailFilter -> isDisposableEmailAddress ( $ emailAddress );
}Este paquete incluye un proveedor de servicios y una regla de validación de formulario para Laravel.
composer require beeyev/disposable-email-filter-php El paquete se registrará automáticamente utilizando el mecanismo de descubrimiento automático de Laravel.
Pero si necesita hacerlo manualmente, puede agregar la siguiente línea a la matriz providers en el archivo config/app.php :
Beeyev DisposableEmailFilter Adapters Laravel DisposableEmailFilterServiceProvider::class, Use la regla de validación not_disposable_email u objeto new NotDisposableEmail() , para verificar que el campo específico no contenga una dirección de correo electrónico desechable.
Nota
❗ Coloque después del validador de correo electrónico para asegurarse de que solo se procesen los correos electrónicos válidos.
Ejemplo:
// Using validation rule name:
' email_field ' => ' required|email|not_disposable_email ' ,
// Or using a validation rule object:
' email_field ' => [ ' email ' , new NotDisposableEmail ()], Puede usar la fachada de DisposableEmail para acceder a la instancia DisposableEmailFilter :
use Beeyev DisposableEmailFilter Adapters Laravel Facades DisposableEmail ;
DisposableEmail:: isEmailAddressValid ( ' [email protected] ' );Opcionalmente, puede publicar el archivo de configuración y las traducciones para personalizar el comportamiento del paquete:
php artisan vendor:publish --tag=disposable-email-filter Este comando creará un archivo de configación disposable-email-filter.php en el directorio config y los archivos de traducción en el directorio lang/vendor/disposable-email-filter .
Dado que la lista de dominios de correo electrónico desechables se actualiza regularmente, es importante mantener el paquete actualizado.
Se lanza una nueva versión de PATCH del paquete cada vez que se actualiza la lista.
Estas actualizaciones son seguras y no rompas, lo que le permite actualizar el paquete a través de este comando compositor:
composer update beeyev/disposable-email-filter-phpPuede ejecutar este comando cada vez en tuberías CI/CD antes de implementar el proyecto.
Siéntase libre de contribuir a este proyecto si desea agregar nuevas funciones, mejorar las existentes o arreglar errores.
Para agregar nuevos dominios desechables, puede actualizar el archivo blacklist.txt y crear una solicitud de extracción.
Alternativamente, puede abrir un problema con los dominios que desea agregar a la lista negra o la lista blanca.
7c/fakefilterFGRibreau/mailcheckerdisposable-email-domainsLa lista negra local y la lista blanca se almacenan en los archivos BlackList.txt y Whitelist.txt.
Los informes de errores y las solicitudes de funciones se pueden enviar en el rastreador de problemas de GitHub.
La licencia MIT (MIT). Consulte el archivo de licencia para obtener más información.
Si amas este proyecto, por favor considere darme un