PHP - Verificar o domínio de um endereço de e-mail

Faça uma pergunta

Em um endereço de e-mail, existem duas partes:
usuário@domínio

A parte domínio define um conjunto de máquinas associadas onde, geralmente, encontramos um servidor que pode enviar e-mails. Neste domínio existem usuários. Em geral, não é possível consultar um servidor para saber se o endereço completo é válido e existe, mas você pode consultar um servidor DNS para ver se o domínio do endereço de e-mail existe realmente.
Este tipo de verificação limita, pelo menos um pouco, os danos quando um usuário te envia o endereço de e-mail dele.
PHP tem funções para interrogar um servidor DNS, há uma que tem a vantagem de ser simples e suficiente para o que queremos fazer:

checkdnsrr (). Ela toma como argumento um nome de domínio e retorna TRUE ou FALSE, dependendo se o domínio existe ou não.


Assim, para testar a vaidade do domínio de um endereço, basta fazer:
$domain = explode('@', $email); 
if (checkdnsrr($domain[1])) 
 echo "Domínio do endereço válido"; 


Veja aqui, então, uma verificação de validade de um endereço de e-mail que pode completar outra: Verificar o formato do endereço de e-mail.

NOTA: Esta solução não funciona caso a PHP esteja instalada no Windows. Neste caso, você deverá utilizar a biblioteca PEAR::Net_Dns


Boa sorte!



Jean-François Pillou

Jean-François Pillou - Fundador do CCM
Mais conhecido como Jeff, Jean-François Pillou é o fundador do CommentCaMarche.net. Ele também é CEO do CCM Benchmark e diretor digital do Grupo Figaro.

Mais informações sobre a equipe do CCM

Veja também