Come verificare se esiste un indirizzo email?


26

Sto cercando di controllare 2.000 indirizzi e-mail per vedere se esistono. Ci sono modi per verificare se un indirizzo e-mail è valido senza inviare e-mail a ciascun indirizzo ?.

Ho trovato un servizio online Email Unlimited , ma controlla solo 20 indirizzi email prima di dover acquistare la versione completa.

Risposte:


37

Solo per ragioni di completezza: alcuni server SMTP fare indicano se è presente un indirizzo email. Di seguito un esempio completo in un'altra risposta :

telnet gmail-smtp-in.l.google.com 25

helo example.com
mail from: <me@example.com>
rcpt to: <somenonexistinguser@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://mail.google.com/support/bin/answer.py?answer=6596

In caso di successo e su server che non possono o non vogliono dire se un indirizzo è valido, l'ultimo comando produrrebbe:

250 2.1.5 OK

Si potrebbe quindi semplicemente invocare quitsenza inviare alcuna e-mail. Tuttavia, quando provi molti indirizzi, questo potrebbe anche farti bloccare.

(Gmail non supporta il vrfycomando. Sul sito Web ha anche un pulsante "verifica disponibilità" quando si registra un nuovo account Gmail. Ciò potrebbe anche darti alcune informazioni, ma i vecchi indirizzi non saranno disponibili per qualche tempo.)


1
SMTP definisce il VRFYcomando per questo scopo.
gravità

@grawity, potrebbe essere vero in teoria, ma VRFYNON funziona con Gmail. (Vedi il mio commento alla risposta di Michael .)
Arjan il

2
Non tutti i server rispondono con un errore "non esiste" per gli account mancanti, quindi questo non è completamente affidabile. Se il server è un proxy (e / o un server secondario esterno) per un numero di altri server, potrebbe non sapere quali account sono validi nell'hop successivo, quindi verrà visualizzato "250 OK" per qualsiasi cosa e alcuni server sono impostati in questo modo in per impedire agli spammer di tentare di enumerare account validi. Un rapido test di alcuni dei nostri server di posta dei nostri clienti ha mostrato che 1 dei 5 che ho provato non ha dato una risposta 5xx per un account inesistente.
David Spillett il

(@David, lo so. Ecco perché ho usato la parola "alcuni" sopra ... Ma l'ho sottolineato un po '.)
Arjan,

@Arjan Ho scritto un piccolo script in pitone per automatizzare questo gist.github.com/arulrajnet/c613bd0fad5de00bab2e
Arul,

23

Se ciò fosse possibile, gli spammer di tutto il mondo canteranno con gioia.

Siamo spiacenti ma no, non è possibile sapere se esiste un determinato indirizzo e-mail.

Secondo me, questa è una caratteristica!

  • Se conosci i tuoi corrispondenti, allora conoscerai le loro informazioni di contatto.
  • Se non conosci i tuoi corrispondenti, allora sei un estraneo e non apprezzeranno ricevere posta indesiderata da te.
  • Se conoscevi i tuoi corrispondenti e non ti hanno tenuto informato delle loro modifiche di indirizzo, hanno preso una decisione (non?) Consapevole di non ricevere la tua posta.

Il meglio che puoi fare è inviare una e-mail alla tua lista e quindi rimuovere quelli che rimbalzano (= quelli che non possono essere consegnati).

Stai attento! In alcuni paesi è illegale inviare e-mail di massa indesiderate a persone che non lo hanno esplicitamente autorizzato in anticipo.


Grazie per questo. Ma sì, conosciamo i contatti ma alcuni di loro non hanno aggiornato i loro dettagli di contatto con noi quando hanno cambiato posizione o società. Abbiamo inviato la newsletter l'ultima volta e restituisce gli indirizzi e-mail e il nostro account è stato riattivato a causa dell'alta percentuale di rimbalzi delle e-mail. Ne ho trovato uno su Internet ma non sono sicuro che sia affidabile: confirm-email.org
tintincutes

2
+1 - se funzionasse sarebbe rapidamente abusato. Questo è il motivo per cui non possiamo avere cose carine!
David Spillett,

2
Non sono sicuro del perché questo sia fortemente votato. La lezione di etica 101? Ho visto qualcosa di simile a ciò che l'OP vuole essere usato, e nemmeno per scopi nefasti. Le altre risposte e commenti suggeriscono che è possibile per molti server di posta, in particolare aziendali / non Google.
Daniel Beck

1
@Daniel: è certamente possibile per alcuni ( molti , in effetti) server / servizi di posta - ma non è affidabile in modo affidabile né è necessariamente affidabile per un determinato indirizzo. Ho votato a favore della correttezza tecnica di "non si può sapere con certezza" piuttosto che di qualsiasi aspetto etico.
David Spillett il

1
Le persone che sono state usate come falsi mittenti di spam, non saranno troppo contente di questa "caratteristica" quando ricevono molti backscatter . (A parte il messaggio di rimbalzo occasionale da esecuzioni che usano un diverso From, Reply-too Return-Pathper ogni messaggio, ho ricevuto migliaia di messaggi di rimbalzo in due occasioni. Facilmente filtrato, ancora non molto carino.)
Arjan,

7

Non c'è davvero alcun buon modo per farlo. C'è un comando 'VRFY' nel protocollo SMTP, ma non conosco nessuno che lo permetta più - è troppo utile per gli spammer. La maggior parte degli host rifiuterà più il comando.

La cosa migliore che puoi fare in questo momento è inviare l'e-mail e registrare ciò che rimbalza (notando che alcuni host di posta semplicemente bucano la posta non consegnabile invece di rimbalzarla).

Non so quale sia la tua attività o il tuo scopo con questo elenco, ma dovresti sapere che se vai a inviare e-mail a 2000 persone contemporaneamente, potresti essere segnalato come spammer da alcuni host di posta.


1
Probabilmente più come cancellare un elenco di contatti. Le mail rimbalzano comunque.
Daniel Beck

Cercando di ripulire i contatti; Devo progettare un nuovo database di contatti. Abbiamo molti clienti di diverse aziende, non sono sicuro se devo classificarli in un database o creare un DB diverso per aziende diverse. Quale sarebbe il modo migliore?
tintincutes,

Se ho capito bene, allora vrfy avrei bisogno di un nome utente , non di un indirizzo e-mail? Se fosse vero, allora suppongo che sia principalmente disabilitato per motivi di sicurezza, non per combattere gli spammer? Su Gmail, sia vrfy existinguser, vrfy existinguser@gmail.com, vrfy someunknownusere vrfy someunknownuser@gmail.comtutto il rendimento 252 2.1.5 Send some mail, I'll try my best, mentre sulla stessa Gmail rcpt to: non rivela se un indirizzo email è valido.
Arjan,

Con vrfy, ti connetti a un server di posta, quindi vrfy nome utente (la parte prima della @ nell'indirizzo e-mail). Se funziona, ti dirà sì o no se l'utente è reale. Se non funziona (molti non lo sono) allora dirà "proibito" o "non ne ho idea". Si noti che la risposta "Non ho idea" è perfettamente legittima per un host di inoltro di posta che non ha accesso all'elenco degli account sottostanti. Quindi anche quando si lavora, vrfy potrebbe non essere così utile.
Michael Kohne,

2

Non è possibile determinare con precisione se un indirizzo è reale o meno - qualsiasi prodotto che afferma di poterne sta esagerando le sue capacità in modo da prendere in considerazione qualsiasi altra affermazione fatta con un occhio cinico.

Esistono librerie F / OSS che fanno quanto è possibile: suppongo che la maggior parte dei software sul mercato sia solo un involucro di fantasia attorno a quelli in modo da poterne creare facilmente uno proprio buono / cattivo se hai esperienza di programmazione. Ma ricorda che non importa quanto sia buona la routine di validazione, sarà molto incline a dare risultati sia falsi positivi che falsi negativi.

http://freshmeat.net/projects/emailaddressvalidationcomponent, ad esempio, viene su una rapida ricerca di carne fresca e supponendo che la descrizione sia corretta, fa tutto ciò che può effettivamente essere fatto per provare a verificare un indirizzo.


@DanieL: Ok grazie per questo. Che ne dici di questo? È valido anche questo: techie-buzz.com/how-to/…
tintincutes il

@tintincute: sembra abbastanza valido, la mia fonte Lifehacker utilizza lo stesso video ...
studiohack


1

All'interno di un contesto aziendale, ciò potrebbe essere fatto automatizzando una ricerca in Active Directory.


1

Che ne dici di scrivere uno script Perl per automatizzare questo lavoro? Dai un'occhiata a: http://search.cpan.org/~ilyam/Mail-CheckUser-1.21/CheckUser.pm


Questo utilizza effettivamente i comandi SMTP per connettersi a un server SMTP e, se si fanno troppe richieste troppo presto, si potrebbe essere etichettati come spammer e bloccati. Quindi, non va bene per controllare migliaia di e-mail.
Bulrush,

1

Puoi provare: http://verify-emails.com/

È ancora un servizio di prova e acquisto, ma può gestire elenchi e singole e-mail e può essere incorporato nei moduli di registrazione.


Quel dominio è destinato alle vendite. Il sito è morto.
Bulrush,

1

Avevo anche bisogno di un modo per verificare l'esistenza di indirizzi e-mail, quindi ho finito per scrivere la mia piccola utility. (Pitone)

http://github.com/un33k/python-emailahoy

È accurato al 100% quando il fornitore è onesto con te.
(gmail è piuttosto onesto, ma yahoo NON è come dice sì a tutte le email.)

È meglio di niente, in quanto ha ridotto gli spam di oltre il 50% per me.


0

È possibile verificare l'esistenza di un indirizzo e-mail utilizzando questo link: http://verify-email.org/ . Invia l'indirizzo e-mail e risponde Okse l'e-mail esiste e Badse l'e-mail è falsa o non esiste. un altro link utile per questo problema: http://www.shoutmeloud.com/how-to-verify-if-email-address-exist-or-not.html


1 ° collegamento: sembra che il controllo di singoli indirizzi sia gratuito, ma il controllo del 2000, come richiesto nella domanda, richiede un software a pagamento. Questa è la situazione per cui la domanda cerca un'alternativa, quindi questa non è davvero una soluzione alla domanda. Il secondo collegamento riguarda anche i singoli controlli. Super User non è un forum, in cui è tipico lasciare tutto ciò che generalmente riguarda l'argomento. Il suo scopo è quello di costruire una base di conoscenza e ogni risposta dovrebbe fornire una soluzione a ciò che è stato chiesto. Risposte che non tendono ad attrarre voti negativi.
fixer1234
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.