Verifica che il dominio di posta elettronica esista

Qualcuno controlla il dominio di un indirizzo email come parte della procedura di verifica? per esempio. Conferma che gmail.com esiste se l’utente ha specificato [email protected] come loro indirizzo.


Dovrei notare che nella mia webapp un utente esistente può inoltrare gli inviti ai propri amici. Non ho assolutamente bisogno di verificare quegli inviti. Piuttosto, voglio solo avvertire il mio utente se un errore di battitura, ecc. Potrebbe inviare un invito alla persona sbagliata. Vale la pena farlo anche questo?

È ansible eseguire una ricerca DNS sul record MX . Ecco un esempio di Code Project:
http://www.codeproject.com/KB/IP/dnslookupdotnet.aspx

[Addendum]:

Questo dovrebbe rispondere alla tua domanda come richiesto, ma come nota a margine sono d’accordo con @Franci sul fatto che il vecchio standby di inviare un messaggio di verifica sia migliore. Se qualcuno ha fatto tutto il resto giusto per ingannare la tua convalida, in realtà non stai acquistando molto anche controllando il dominio.

I siti Web che devono convalidare l’indirizzo email dell’utente di solito inviano un’email a quell’indirizzo con un link di convalida. Controllare il dominio per l’e-mail non ti fa guadagnare molto, dato che le persone di solito danno email false su un provider di posta elettronica esistente (solitamente @ gmail.com, @ yahoo.com o @ hotmail.com)

Se vuoi ancora convalidare il dominio, dovresti fare un controllo DNS per un record MX per quel dominio, invece di controllare solo se il dominio è registrato.

Aggiornamento : si noti che la parte del dominio di un’e-mail può effettivamente essere un indirizzo IP (anche se questo modulo è fortemente sconsigliato). In questo caso, non è ansible verificare in modo affidabile se esiste un server SMTP a quell’indirizzo, a meno che non si tenti effettivamente di connettersi tramite SMTP. Che è essenzialmente lo stesso di inviare una e-mail.

Di solito permetto a qualsiasi componente della posta che uso di occuparmi della convalida del dominio. Se dà un errore puoi gestirlo in codice e decidere se vuoi mostrarlo all’utente o meno.

È ansible eseguire questo comando nella console

nslookup -q=mx gmail.com 

e analizza l’output per le righe contenenti MX dopo il nome host

 gmail.com MX preference = 40, mail exchanger = alt4.gmail-smtp-in.l.google.com gmail.com MX preference = 20, mail exchanger = alt2.gmail-smtp-in.l.google.com gmail.com MX preference = 5, mail exchanger = gmail-smtp-in.l.google.com gmail.com MX preference = 30, mail exchanger = alt3.gmail-smtp-in.l.google.com gmail.com MX preference = 10, mail exchanger = alt1.gmail-smtp-in.l.google.com 

Ma non consiglierei questo tipo di assegno in primo luogo. Se un utente non vuole darti il ​​suo indirizzo e-mail, troverà sempre un modo per ingannarti. L’unico pensiero che puoi fare è inviare un’email con un link di verifica.

È sicuramente ansible verificare se il dominio è un server di posta valido. Dai una prova a queste istruzioni .