Wie überprüfe ich, ob eine E-Mail-Adresse existiert?

26

Ich versuche, 2.000 E-Mail-Adressen zu überprüfen, um festzustellen, ob sie existieren. Gibt es Möglichkeiten, um zu überprüfen, ob eine E-Mail-Adresse gültig ist, ohne eine E-Mail an jede Adresse zu senden?

Ich habe einen Onlinedienst gefunden, der Email Unlimited verwendet , aber nur 20 E-Mail-Adressen überprüft, bevor ich die Vollversion kaufen muss.

Tintincutes
quelle

Antworten:

37

Der Vollständigkeit halber: Einige SMTP-Server geben an, ob eine E-Mail-Adresse existiert. Nachstehend ein vollständiges Beispiel in einer anderen Antwort :

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

helo example.com
mail from: <[email protected]>
rcpt to: <[email protected]>
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

Bei Erfolg und auf Servern, die nicht erkennen können oder wollen, ob eine Adresse gültig ist, würde der letzte Befehl Folgendes ergeben:

250 2.1.5 OK

Man könnte dann einfach aufrufen, quitohne überhaupt eine E-Mail zu senden. Wenn Sie jedoch viele Adressen ausprobieren, werden Sie möglicherweise auch blockiert.

(Google Mail unterstützt den vrfyBefehl nicht. Auf der Website wird auch die Schaltfläche "Verfügbarkeit prüfen" angezeigt, wenn Sie sich für ein neues Google Mail-Konto anmelden. Dies kann auch einige Informationen enthalten, alte Adressen sind jedoch für einige Zeit nicht verfügbar.)

Arjan
quelle
1
SMTP definiert den VRFYBefehl für diesen Zweck.
Grawity
@grawity, das mag theoretisch stimmen, VRFYfunktioniert aber NICHT mit Google Mail. (Siehe meinen Kommentar bei Michaels Antwort .)
Arjan
2
Nicht alle Server antworten bei fehlenden Konten mit dem Fehler "Existiert nicht", daher ist dies nicht vollständig zuverlässig. Wenn der Server ein Proxy-Server (und / oder ein externer sekundärer Server) für eine Reihe anderer Server ist, weiß er möglicherweise nicht, welche Konten beim nächsten Hop gültig sind, und gibt für alles "250 OK" aus. Einige Server werden auf diese Weise eingerichtet um zu verhindern, dass Spammer versuchen, gültige Konten aufzulisten. Ein kurzer Test einiger Mailserver unserer Kunden ergab, dass 1 der 5 von mir ausgeführten Versuche keine 5xx-Antwort für ein nicht vorhandenes Konto ergab.
David Spillett
(@ David, ich weiß. Deshalb habe ich das Wort "einige" oben verwendet ... Aber ich habe das ein bisschen betont.)
Arjan
@Arjan Ich schrieb einen kleinen Python - Skript , dies zu automatisieren gist.github.com/arulrajnet/c613bd0fad5de00bab2e
Arul
23

Wenn dies möglich wäre, würden Spammer weltweit vor Freude singen.

Entschuldigung, aber nein, es ist nicht möglich zu wissen, ob eine bestimmte E-Mail-Adresse existiert oder nicht.

Meiner Meinung nach ist dies ein Feature!

  • Wenn Sie wissen , Ihre Korrespondenten, dann werden Sie ihre Kontaktinformationen kennen.
  • Wenn Sie Ihre Korrespondenten nicht kennen , sind Sie ein Fremder und sie werden es nicht schätzen, unerwünschte E-Mails von Ihnen zu erhalten.
  • Wenn Sie Ihre Korrespondenten gekannt haben und diese Sie nicht über ihre Adressänderungen informiert haben, haben sie (un?) Bewusst entschieden, Ihre E-Mails nicht zu erhalten.

Das Beste, was Sie tun können, ist, eine E-Mail an Ihre Liste zu senden und dann diejenigen zu entfernen, die abprallen (= diejenigen, die nicht zugestellt werden konnten).

Achtung! In einigen Ländern ist es illegal, unerwünschte Massen-E-Mails an Personen zu senden, die dies nicht ausdrücklich im Voraus zugelassen haben.

Torben Gundtofte-Bruun
quelle
Danke dafür. Aber ja, wir kennen die Kontakte, aber einige von ihnen haben ihre Kontaktdaten bei uns nicht aktualisiert, als sie Positionen oder Unternehmen wechselten. Wir haben beim letzten Mal einen Newsletter verschickt, der die E-Mail-Adressen zurückspringt, und unser Konto wurde aufgrund des hohen Prozentsatzes der zurückspringenden E-Mails erneut aktiviert. Ich habe eine im Internet gefunden, bin mir aber nicht sicher, ob diese zuverlässig ist: verify-email.org
tintincutes
2
+1 - wenn es klappen würde, würde es schnell missbraucht. Deshalb können wir keine schönen Dinge haben!
David Spillett
2
Ich bin mir nicht sicher, warum das so ist. Die Ethik-101-Lektion? Ich habe so etwas gesehen, wie das OP verwendet werden soll, und nicht einmal für ruchlose Zwecke. Die anderen Antworten und Kommentare deuten darauf hin, dass dies für viele Mail-Server möglich ist, insbesondere für Unternehmen / Nicht-Google-Server.
Daniel Beck
1
@ Daniel: Es ist sicherlich möglich , für einige ( viele in der Tat) Mail - Server / Dienste - aber es ist nicht zuverlässig möglich ist , noch ist unbedingt zuverlässig für jede gegebene Adresse. Ich habe eher für die technische Korrektheit von "Sie können es nicht mit Sicherheit wissen" als für einen ethischen Aspekt gestimmt.
David Spillett
1
Personen, die als gefälschte Absender von Spam-Mails verwendet wurden, werden sich über dieses "Feature" beim Empfang von viel Backscatter nicht allzu sehr freuen . (Abgesehen von gelegentlicher Unzustellbarkeitsnachricht von Läufen , die einen anderen verwenden From, Reply-tooder Return-Path. Für jede Nachricht, habe ich Tausende von Bounce - Nachrichten zweimal empfangen leicht gefiltert, noch nicht sehr schön.)
Arjan
7

Es gibt wirklich keinen guten Weg, dies zu tun. Es gibt einen 'VRFY'-Befehl im SMTP-Protokoll, aber ich kenne niemanden, der das mehr zulässt - es ist zu nützlich für Spammer. Die meisten Hosts lehnen den Befehl nur noch ab.

Das Beste, was Sie jetzt tun können, ist, die E-Mail zu senden und aufzuzeichnen, was zurückgesendet wird (wobei zu beachten ist, dass einige Mail-Hosts nicht zustellbare E-Mails zurücksenden, sondern sie nur zurücksenden).

Ich weiß nicht, was Ihr Unternehmen oder Zweck mit dieser Liste ist, aber Sie sollten wissen, dass Sie, wenn Sie E-Mails an 2000 Personen gleichzeitig senden, wahrscheinlich von einigen E-Mail-Hosts als Spammer gekennzeichnet werden.

Michael Kohne
quelle
1
Wahrscheinlich eher wie das Löschen einer Kontaktliste. Mails springen trotzdem.
Daniel Beck
Versucht die Kontakte zu säubern; Ich muss eine neue Kontaktdatenbank entwerfen. Wir haben viele Kunden aus verschiedenen Unternehmen, nicht sicher, ob ich sie in einer Datenbank kategorisieren muss oder eine andere Datenbank für verschiedene Unternehmen erstellen würde. Was wäre der beste Weg?
Tintincutes
Wenn ich das richtig verstehe, vrfy brauche ich dann einen Benutzernamen , keine E-Mail-Adresse? Wenn dies zutrifft, wird es vermutlich hauptsächlich aus Sicherheitsgründen deaktiviert, um Spammer nicht zu bekämpfen. Auf Gmail, sowohl vrfy existinguser, vrfy [email protected], vrfy someunknownuserund vrfy [email protected]aller Ausbeute 252 2.1.5 Send some mail, I'll try my best, während auf der gleiche Google Mail rcpt to: nicht zeigen , ob eine E - Mail - Adresse gültig ist.
Arjan
Mit vrfy stellen Sie eine Verbindung zu einem Mail-Server her und anschließend zu vrfy (der Teil vor dem @ in der E-Mail-Adresse). Wenn es funktioniert, werden Sie mit Ja oder Nein darüber informiert, ob der Benutzer echt ist. Wenn es nicht funktioniert (viele nicht), wird entweder "Verboten" oder "Ich habe keine Ahnung" angezeigt. Beachten Sie, dass die Antwort "Ich habe keine Ahnung" für einen E-Mail-Weiterleitungs-Host, der keinen Zugriff auf die Liste der zugrunde liegenden Konten hat, absolut legitim ist. Selbst wenn Sie arbeiten, ist vrfy möglicherweise nicht so nützlich.
Michael Kohne
2

Es ist nicht möglich, genau zu bestimmen, ob eine Adresse echt ist oder nicht - jedes Produkt, das behauptet, dass es seine Fähigkeiten übertreibt, sollten Sie andere Behauptungen mit einem zynischen Auge betrachten.

Es gibt F / OSS-Bibliotheken, die so viel tun, wie es nur geht: Ich würde vermuten, dass die meiste Software auf dem Markt nur ein ausgefallener Wrapper für diese ist, sodass Sie vielleicht leicht Ihre eigenen erstellen können, die genauso gut / schlecht sind wenn Sie Programmiererfahrung haben. Bedenken Sie jedoch, dass unabhängig von der Qualität der Validierungsroutine häufig sowohl falsch positive als auch falsch negative Ergebnisse erzielt werden.

Bei http://freshmeat.net/projects/emailaddressvalidationcomponent wird beispielsweise eine schnelle Suche nach Frischfleisch durchgeführt. Wenn die Beschreibung korrekt ist, wird alles getan, um eine Adresse zu überprüfen.

David Spillett
quelle
@DanieL: Ok danke dafür. Wie wäre es mit diesem? Ist das auch gültig: techie-buzz.com/how-to/…
tintincutes
@tintincute: Sieht ziemlich gültig aus, meine Lifehacker-Quelle verwendet dasselbe Video ...
studiohack
2

Sie können ping die E - Mail - Adresse.

Von Lifehacker.com:

http://lifehacker.com/5697360/how-to-verify-if-an-email-address-is-real-or-fake

Wenn Sie eine E-Mail an jemanden senden, wird die Nachricht an einen SMTP-Server gesendet, der dann nach den MX-Einträgen (Mail Exchange) der Domäne des E-Mail-Empfängers sucht.

Klicken Sie auf den Link, um schrittweise Anweisungen zum Pingen einer E-Mail-Adresse zu erhalten.

Studiohack
quelle
1

In einem Unternehmenskontext kann dies durch Automatisieren von Suchvorgängen in Active Directory erfolgen.

David
quelle
1

Wie wäre es, ein Perl-Skript zu schreiben, um diesen Job zu automatisieren? Überprüfen Sie dies: http://search.cpan.org/~ilyam/Mail-CheckUser-1.21/CheckUser.pm

Jassi
quelle
Hierbei werden SMTP-Befehle verwendet, um eine Verbindung zu einem SMTP-Server herzustellen. Wenn Sie zu viele Anfragen zu früh stellen, werden Sie möglicherweise als Spammer gekennzeichnet und blockiert. Also nicht gut zum Überprüfen von Tausenden von E-Mails.
Bulrush
1

Sie können versuchen: http://verify-emails.com/

Es ist immer noch ein Try-and-Buy-Service, kann jedoch sowohl Listen als auch einzelne E-Mails verarbeiten und in Registrierungsformulare integriert werden.

chris
quelle
Diese Domain ist für den Verkauf bestimmt. Seite ist tot.
Bulrush
1

Ich brauchte auch eine Möglichkeit, die Existenz von E-Mail-Adressen zu überprüfen, und schrieb mein eigenes kleines Hilfsprogramm. (Python)

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

Es ist 100% genau, wenn der Anbieter ehrlich zu Ihnen ist.
(Google Mail ist ziemlich ehrlich, aber Yahoo ist NICHT, da es zu allen E-Mails Ja sagt.)

Es ist besser als nichts, da es die Spam-E-Mails für mich um mehr als 50% reduziert hat.

un33k
quelle
0

Über diesen Link können Sie überprüfen, ob eine E-Mail-Adresse existiert: http://verify-email.org/ . Es pingt die E-Mail-Adresse an und antwortet, Okwenn die E-Mail existiert und Badwenn die E-Mail gefälscht ist oder nicht existiert. Ein weiterer für dieses Problem hilfreicher Link: http://www.shoutmeloud.com/how-to-verify-if-email-address-exist-or-not.html

Bhavinkumar Patel
quelle
1. Link: Es sieht so aus, als ob die Überprüfung einzelner Adressen kostenlos ist, aber für die Überprüfung von 2000, wie in der Frage angegeben, ist kostenpflichtige Software erforderlich. In dieser Situation sucht die Frage nach einer Alternative, daher ist dies keine wirkliche Lösung für die Frage. Der 2. Link befasst sich auch mit Einzelprüfungen. Super User ist kein Forum, in dem es üblich ist, irgendetwas zu hinterlassen, das sich allgemein auf das Thema bezieht. Ihr Zweck ist es, eine Wissensdatenbank aufzubauen, und jede Antwort sollte eine Lösung für die gestellten Fragen bieten. Antworten, die nicht zu Abstimmungen neigen.
Fixer1234