come controllare che l'indirizzo e-mail esista o meno in php

1

Ho provato molto ma non sono riuscito a trovare un modo con cui troverei se esiste un ID e-mail o meno.

Il mio problema è che non voglio farmi visitare da me con un falso ID e-mail. C'è qualche soluzione per questo? Non voglio usare il servizio smpt mentre invia mail per risolvere questo problema.

    
posta Amit Yadav 11.02.2014 - 15:44
fonte

3 risposte

5

L'unico modo per verificare se

  • l'indirizzo è valido
  • la cassetta postale funziona
  • l'e-mail è stata data dal proprietario

è inviare un'e-mail di conferma con un link e un token univoco. Il destinatario farà quindi clic sul link e confermerà che ha ricevuto l'email.

Riassumendo:

  1. Genera un ID univoco e memorizzalo insieme all'indirizzo email fornito con hash
  2. Invia un'email all'indirizzo con un URL all'applicazione / script di convalida (ad esempio, link )
  3. Quando si fa clic sull'URL, l'applicazione controlla se l'ID univoco corrisponde a ciò che è stato generato e inviato all'utente
risposta data 11.02.2014 - 16:27
fonte
2

Non farli inserire un'email.
Affidati invece a una società diversa per convalidare l'email. Usa qualcosa come OAUTH / 2 con google o twitter ... IE: google vuole la tua stessa cosa, nessun account falso. Esaminano le lunghezze per confermare che l'account creato è reale e connesso a una persona reale, quindi chiedi alla tua applicazione / pagina / etc di connettersi al loro account Google che ti fornirà un indirizzo email valido.

link

    
risposta data 11.02.2014 - 17:25
fonte
0

L'ho fatto in passato in PHP usando SwiftMailer, ma probabilmente potresti ottenere lo stesso risultato in PHP.

Se invii la tua email con un indirizzo simile a [email protected] (che è un vero indirizzo a cui hai accesso) l'email verrà rispedita a quella casella.

Da lì, puoi avere un'attività pianificata per controllare la presenza di e-mail in quella casella, prendere l'email a cui l'hai inviata e contrassegnarla come utente con un indirizzo non valido e non inviare più comunicazioni a loro. Dopo aver elaborato l'e-mail, è possibile eliminare l'e-mail nella casella o archiviarla in un'altra cartella.

Quando l'ho fatto, ho l'obbligo di conservare una copia di ogni e-mail inviata dall'applicazione. Per identificare tutte le consegne infruttuose, ho aggiunto una chiave univoca alle intestazioni delle e-mail che è stata ricambiata dal codice analizzando la casella postale di rimbalzo e ho potuto contrassegnare tutte le corrispondenze inviate (es: 2 il primo messaggio è stato consegnato correttamente, ma il 3 ° e 4 ° non erano )

    
risposta data 11.02.2014 - 17:36
fonte

Leggi altre domande sui tag