Una biblioteca muy sencilla que permite validar una dirección de correo electrónico, comprobar si existe a través de una conexión online y comprobar si el proveedor es desechable o no.
Validación de cadenas:
PHPEmailAddressValidator::validateString($email);
Validación completa:
PHPEmailAddressValidator::validate($email);
La validación completa verificará primero la sintaxis de la dirección, luego verificará la existencia del proveedor a través de la resolución DNS y luego verificará si la dirección de correo electrónico proporcionada existe.
Antes de utilizar estos métodos, debe configurar los diccionarios de la siguiente manera:
PHPEmailAddressValidator::setWhiteListDatabasePath('whitelist.txt');
PHPEmailAddressValidator::setBlackListDatabasePath('blacklist.txt');
PHPEmailAddressValidator::setDisposableProvidersDatabasePath('disposable.txt');
Compruebe si se acepta el proveedor de correo electrónico:
PHPEmailAddressValidator::isTrustedProvider($email, $disposableAllowed, $strict);
Con aceptado significa que el proveedor se encuentra dentro de la lista blanca dada, si el modo estricto no está habilitado, también se verificará si el proveedor se encuentra dentro de la lista negra, en este caso se devolverá "falso". Si el proveedor se marca usando el modo estricto, se devolverá "verdadero" solo si se encuentra dentro de la lista blanca proporcionada. Tanto la lista blanca como la lista negra deben ser archivos de texto sin formato y los proveedores deben estar separados por una línea de corte (n).
Compruebe si el proveedor de correo electrónico es desechable:
PHPEmailAddressValidator::isDisposableProvider($disposable);
Este método verificará si el proveedor está incluido en la lista proporcionada que contiene los proveedores desechables; con esta biblioteca se envía una lista con los proveedores desechables más comunes (ofrecida amablemente por @michenriksen). La lista de proveedores desechables debe ser archivos de texto sin formato y los proveedores deben estar separados por una línea de corte (n).
¿Estás buscando la versión Node.js? Échale un vistazo aquí.