Uma biblioteca muito simples que permite validar um endereço de e-mail, verificar se o mesmo existe através de ligação online e verificar se o fornecedor é descartável ou não.
Validação de string:
PHPEmailAddressValidator::validateString($email);
Validação completa:
PHPEmailAddressValidator::validate($email);
A validação completa verificará primeiro a sintaxe do endereço, depois verificará a existência do provedor através da resolução DNS e depois verificará se o endereço de e-mail fornecido existe.
Antes de usar esses métodos, você deve configurar os dicionários da seguinte forma:
PHPEmailAddressValidator::setWhiteListDatabasePath('whitelist.txt');
PHPEmailAddressValidator::setBlackListDatabasePath('blacklist.txt');
PHPEmailAddressValidator::setDisposableProvidersDatabasePath('disposable.txt');
Verifique se o provedor de e-mail é aceito:
PHPEmailAddressValidator::isTrustedProvider($email, $disposableAllowed, $strict);
Com aceito significa que o provedor se encontra na lista branca determinada, se o modo estrito não estiver habilitado, também será verificado se o provedor se encontra na lista negra, neste caso será retornado "falso". Se o provedor for verificado usando o modo estrito, será retornado "true" somente se for encontrado na lista branca fornecida. Tanto a lista branca quanto a lista negra devem ser arquivos de texto simples e os provedores devem ser separados por uma linha de quebra (n).
Verifique se o provedor de e-mail é descartável:
PHPEmailAddressValidator::isDisposableProvider($disposable);
Este método irá verificar se o provedor está incluído na lista fornecida contendo os provedores descartáveis. Uma lista com os provedores descartáveis mais comuns é enviada com esta biblioteca (gentilmente oferecida por @michenriksen). A lista de provedores descartáveis deve ser um arquivo de texto simples e os provedores devem ser separados por uma linha de quebra (n).
Você está procurando a versão Node.js? Dê uma olhada aqui.