Verificare un account di posta può essere molto utile quando si gestisce un sito dove i visitatori hanno la possibilità di registrarsi. Dipendendo dal server di posta, è possibile verificare se l'account registrato esiste.
È possibile verificare l'esistenza di un account gmail utilizzando un cliente telnet. Il primo passo è ottenere il nome del server di posta utilizzando 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.
Si seleziona il dominio indicato con il numero più basso. In questo caso è il 5: gmail-smtp-in.l.google.com
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
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.
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
Il fatto che il nome utente sia disponibile, dimostra che l'indirizzo email indicato non esiste.
{"ResultCode":"SUCCESS","HostnameInfo":"r04.member.ir2.yahoo.com"}