Cómo comprobar si una dirección de correo existe verdaderamente

Verificar si una dirección de correo electrónico existe o no puede ser muy útil cuando se administran sitios con registro de usuarios o para limpiar listas de correo a suscripciones o newsletter. Dependiendo del server o dominio muestor lo fácil que es.

Comprobar una cuenta de gmail

Podemos verificar la existencia de una cuenta de correo de gmail utilizando un cliente telnet. El primer paso es obterner el servidor de correo utilizando nslookup.

# nslookup -type=mx gmail.com
Server:         192.168.1.1
Address:        192.168.1.1#53

Non-authoritative answer:
gmail.com       mail exchanger = 30 alt3.gmail-smtp-in.l.google.com.
gmail.com       mail exchanger = 40 alt4.gmail-smtp-in.l.google.com.
gmail.com       mail exchanger = 5 gmail-smtp-in.l.google.com.
gmail.com       mail exchanger = 10 alt1.gmail-smtp-in.l.google.com.
gmail.com       mail exchanger = 20 alt2.gmail-smtp-in.l.google.com.

Seleccionamos el dominio indicado con el número más bajo, en este caso es el 5: gmail-smtp-in.l.google.com

Si seleziona il dominio indicato con il numero più basso. In questo caso è il 5: gmail-smtp-in.l.google.com

Ahora, nos conectamos a este dominio con el cliente telnet apuntando a la puerta 25. Una vez que el cliente se conecta ejecutar los comandos HELO, mail from y rcpt to.

Ora, dovremo collegarci al dominio selezionato attraverso la porta 25. Dopo di che, sarà necessario esseguire i commandi HELO, mail from e rcpt to.

telnet gmail-smtp-in.l.google.com 25
HELO
mail from:<e*****@gmail.com>
rcpt to:<nerfsloirgdargbmcitmp@gmail.com>
550-5.1.1 The email account that you tried to reach does not exist. Please try
550-5.1.1 double-checking the recipient's email address for typos or
550-5.1.1 unnecessary spaces. Learn more at
550 5.1.1 http://support.google.com/mail/bin/answer.py?answer=6596 pt5si10216760wjc.31 - gsmtp

Si la respuesta del server luego de haber ejecutado el comando rctp to es 550, la dirección de correo existe. Si en cambio, la respuesta es 250, la dirección que estamos verificando no existe.

Se la risposta dopo il commando rcpt to è 550, l'indirizzo email specificato non esiste, se invece la risposta fosse 250, l'indirizzo sarebbe valido.

Comprobar una cuenta de Yahoo!

Mientras llenamos el formulario para crear una cuenta de correo de Yahoo! corre un web service que verifica que la dirección indicada esté disponible. Utilizando la pestaña net de Firebug podremos capturar la url del web service y ver como enviar los parámetros.

Mentre si compila il formulario per creare un account di posta di Yahoo! si esegue un web service che verifica la disponibilità del nome utente inserito. Utilizzando Firebug è possibile verificare l'indirizzo del web service e come inviare i parametri.

Firebug

https://edit.europe.yahoo.com/reg_json?GivenName=&FamilyName=&AccountID=ferrari4552@&PartnerName=yahoo_default&ApiName=ValidateFields&RequestVersion=1&intl=it

El hecho de que el nombre de usuario está disponible verifica que la dirección de mail no existe.

{"ResultCode":"SUCCESS","HostnameInfo":"r04.member.ir2.yahoo.com"}