Come verificare se esiste un ID e-mail o no con PHP? e per ottenere informazioni sul proprietario dell'ID di posta elettronica? è possibile ottenere le informazioni sul proprietario dell'ID di posta elettronica? Devo lavorare con alcuni protocolli come POP? Mi aiuti per favore.Come verificare se esiste un ID e-mail?
risposta
consente di dire un utente invia il seguente indirizzo email:
I controlli si vorrebbe svolgere in modo sono in questo modo:
- L'indirizzo è valido
- Fa il dominio gestiscono un mail server/Record MX
- E 'nella lista nera
In primo luogo all'interno di PHP è possibile convalidare una e-mail utilizzando filter_var
in questo modo:
$is_valid = filter_var("[email protected]",FILTER_VALIDATE_EMAIL);
In secondo luogo si vorrebbe verificare se il dominio gestisce un server di posta elettronica, per fare questo è possibile controllare i record DNS per MX in questo modo:
$has_dns_mx_record = checkdnsrr("stackoverflow.com","MX");
Si potrebbe anche voler aprire la porta sul dominio in questo modo:
$socket = fsockopen("stackoverflow.com", 25);
$mail_running = (bool)$socket;
fclose($socket);
È inoltre possibile controllare per vedere se il server SMTP risponde con un 550, vale a dire di posta elettronica non esiste, in questo modo:
SEND > helo hi
250 stackoverflow.com
SEND > mail from: <[email protected]>
250 2.1.0 Ok
SEND > rcpt to: <[email protected]>
> 550 5.1.1 <[email protected]>: Recipient address rejected: User unknown in local recipient table
Guardando quanto sopra è possibile inviare comandi a un server smtp valido come helo
>mail from <...>
e controllare la risposta 550.
Date un'occhiata qui per alcuni codici di risposta: http://www.greenend.org.uk/rjk/2000/05/21/smtp-replies.html
Inoltre si dovrebbe prendere nota di commento di @ slebetman affermando che una piccola percentuale di mail> server sono configurati per rispondere 550 per evitare che il sniffing fuori di indirizzi email validi.
Il controllo lista nera è piuttosto semplice, si sarebbe solo trovare una DNSBL Server decente che fornisce un gateway per voi Verifica il dominio per vedere se è stato inserito nella lista nera, se ne ha l'e-mail potrebbe essere valido e attivo ma è stato contrassegnato come spam, quindi è un email non affidabile e si dovrebbe richiedere un indirizzo email alternativo per autorizzare
Queste sono alcune delle tecniche di convalida utilizzate per convalidare un indirizzo email, ora ci sono molti più metodi di validazione ma questi sono alcuni dei principali.
Ha una probabilità del 99% di funzionare. Ci sono alcuni server di posta che sono configurati per non restituire mai 550 risposte in modo che gli script non possano annusare un indirizzo email valido. Il mio server di posta elettronica è configurato in questo modo. Quindi è la posta di Yahoo. – slebetman
Ottimo punto, non ci ho mai pensato. – RobertPitt
Non esiste un modo sicuro al 100% di sapere se un indirizzo e-mail è valido senza l'invio di e-mail e l'utente risponde in qualche modo. Ci sono controlli che puoi fare per aumentare le possibilità di sapere se un indirizzo email è valido o meno. Puoi fare una ricerca DNS e vedere se il dominio ha un record MX. Esistono anche parti del protocollo SMTP che è possibile utilizzare, ma nulla impone che un server SMTP risponda a questi comandi. Centralops.net fornisce un prodotto che può aiutare, ma, ancora una volta, non è garantito.
Se ci fosse un modo sicuro per gestirlo, allora perché praticamente ogni sito che ha una funzione di registrazione ti richiede di rispondere a un'email in qualche modo? La domanda non è pensata per essere sniffata; Spero solo che ti aiuti a vedere che altri siti non sono stati in grado di eseguire lo stesso controllo che stai chiedendo.
HTH
mi sono imbattuto in un link mentre su Google. http://www.verifyemailaddress.org/. come avrebbero potuto farlo? penso che l'abbiano fatto bene – brainless
Controlla la mia risposta @brainless. – RobertPitt
Ma non c'è modo di essere positivo. Puoi fare i passi delineati da RobertPitt, alcuni di quelli che elenca nella mia risposta (anche se lui spiega in maggiore dettaglio), ma alla fine della giornata, l'unico modo per saperlo è in realtà inviando un'email, e facendo l'utente risponde ad esso in qualche modo. Alcuni server SMTP ti diranno che l'indirizzo email non esiste immediatamente, ma altri semplicemente accettano l'e-mail e poi si estinguono nell'etere. Molti server SMTP non rispondono al comando di chiedere se esiste un indirizzo email. L'hanno disattivato per scoraggiare lo spamming. –
- 1. Come verificare se id esiste già - codeigniter
- 2. Posso verificare se esiste un indirizzo email usando .net?
- 3. Verificare se esiste un ID in un database
- 4. Verificare se esiste un ID DIV con JQuery
- 5. Verificare se esiste un ID nelle risorse (R.id.qualcosa)
- 6. Come verificare se esiste un file
- 7. Come verificare se esiste un percorso?
- 8. gelsomino - come verificare se esiste un argomento?
- 9. Come verificare se esiste un determinato assemblaggio?
- 10. Come verificare se esiste un utente postgres?
- 11. come posso verificare se esiste un file?
- 12. Come verificare se esiste un elemento dell'array?
- 13. Prolog: come verificare se esiste un predicato?
- 14. come verificare se un determinato indirizzo email esiste effettivamente in C#?
- 15. Come verificare se esiste un indirizzo e-mail?
- 16. Javascript: Verificare se esiste nomeclasse
- 17. Come verificare se esiste ancora un ALAsset usando un URL
- 18. Verifica se l'attributo ('id') esiste in jQuery
- 19. Verificare se un evento esiste già
- 20. Verificare se esiste un servizio web
- 21. Come verificare un file se esiste con jolly in Java?
- 22. Come verificare se un ID specifico viene chiamato da jQuery?
- 23. Puoi verificare se esiste un mixin?
- 24. Verificare se esiste un file in Yii
- 25. Verificare se esiste un oggetto in VBScript
- 26. Verificare se esiste un input di modulo
- 27. Verificare se esiste un nodo utilizzando XSLT
- 28. Come verificare se esiste un documento couchdb utilizzando python
- 29. XSLT: Verificare se esiste un valore in un elenco
- 30. Verificare se esiste chiave NSUserDefaults
Sto assumendo per "id", vuoi dire "indirizzo". Perchè vuoi fare questo? Mentre sono sicuro che ci sono un sacco di casi d'uso validi, mi sembra spam-ish. – inkedmn
@inkedmn: desidero utilizzarlo nella pagina di registrazione del sito Web per verificare gli indirizzi e-mail in modo da prevenire spam e registrazioni false! assolutamente per il rilevamento di frodi! – brainless
L'invio di un link di attivazione riguarda la tua unica opzione. – drudge