AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Emailadresse auf tatsächliche Existenz prüfen??
Thema durchsuchen
Ansicht
Themen-Optionen

Emailadresse auf tatsächliche Existenz prüfen??

Ein Thema von yellomb · begonnen am 20. Mai 2003 · letzter Beitrag vom 21. Mai 2003
Antwort Antwort
yellomb

Registriert seit: 20. Mai 2003
5 Beiträge
 
Delphi 6 Professional
 
#1

Emailadresse auf tatsächliche Existenz prüfen??

  Alt 20. Mai 2003, 22:46
Hallo Leute,
hat jemand eine Idee, wie man am geschicktesten eine Emailadresse auf auf die tatsächliche Existenz überprüfen kann??
  Mit Zitat antworten Zitat
danielA

Registriert seit: 10. Jun 2002
Ort: Hamburg
72 Beiträge
 
Delphi XE7 Enterprise
 
#2
  Alt 20. Mai 2003, 23:06
Hallo yellomb,

gar nicht.

Es gibt zwei möglichkeiten EMails zu versenden

1. über einen authentifizierten Server
Bevor man eine Mail schicken kann muß man sich beim Server mit Passwort authentifizieren. Solche EMailadressen existieren also immer.

2. über Standard SMTP
Standard SMTP interessiert es nicht, von wem die Mail ist es kennt nur seine Domain (also alles nach dem @). Alles was vor dem @ steht wird ihm vom Mailclient übergeben und dann so übernommen egal ob es existiert oder nicht.

Auch wenn momentan die meißten Provider auf eine Authentifizierung des SMTP umstellen sehe ich auch auf lange Frist keine Möglichkeit auf eine reale Existenz einer Absenderadresse zu prüfen, da es immer wieder schwarze Schafe geben wird, die versenden nach dem zweiten Verfahren zulassen. Solltest du jedoch auf Adressen prüfen wollen, die z.B. in einem Webformular angegeben wurden, kannst du nur eins machen. Sende eine Mail an diese Adresse. Kommt sie mit einer Fehlermeldung zurück, gibt es sie nicht. Kommt sie nicht zurück, ist sie entweder existent oder der Admin/root des Servers mit dieser Domain hat sie bekommen.

Grüße danielA
  Mit Zitat antworten Zitat
yellomb

Registriert seit: 20. Mai 2003
5 Beiträge
 
Delphi 6 Professional
 
#3
  Alt 20. Mai 2003, 23:20
Es muß doch irgend eine Möglichkeit geben, einen Rückgabeparameter vom Server zu erhalten, wie z.B. beim HTTP-Server (server.responsecode)
200 OK u.s.w
Es geht darum eine Kundendatenbank zu pflegen und nicht mehr existente Emailadressen auszufiltern.
  Mit Zitat antworten Zitat
danielA

Registriert seit: 10. Jun 2002
Ort: Hamburg
72 Beiträge
 
Delphi XE7 Enterprise
 
#4
  Alt 21. Mai 2003, 00:52
Hallo ich bins nochmal.

Ich habe mir ebend unter Linux mal eine Mail mit telnet geschrieben (Socketebene) schau es dir am besten mal an.
  • SERVER:~# telnet 127.0.0.1 25
    Trying 127.0.0.1...
    Connected to 127.0.0.1.
    Escape character is '^]'.
    220 server.local ESMTP Postfix
    HELO TEST.TEST // ich
    250 SERVER.local
    VRFY BLA // ich
    252 BLA
    MAIL FROM: BLA@BLA.BLA // ich
    250 Ok
    RCPT TO:BLA@localhost // ich
    250 Ok
    DATA // ich
    354 End data with <CR><LF>.<CR><LF>
    Hallo das ist eine Mail // ich
    . // ich
    250 Ok: queued as 724B11B073
    QUIT // ich
    221 Bye

Wie du siehst, gibt es weder den Absenderserver (HELO TEST.TEST), den Absender (MAIL FROM: BLA@BLA.BLA), noch den Empfänger (RCPT TO:BLA@localhost).
Die einzige Chance die du hast, ist der Befehl VRFY und EXPN welche überpüfen sollen, ob der Empfänger existiert. Diese Befehle müssen aber, wie oben bei mir, nicht implementiert sein. Am besten du schaust dir dazu mal die RFC 821 (http://www.ietf.org/rfc/rfc0821.txt)

Gruß danielA
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: Unterhaching
11.412 Beiträge
 
Delphi 12 Athens
 
#5
  Alt 21. Mai 2003, 09:38
Wie DanielA bereits geschrieben hat, gibt es das SMTP command VRFY, allerdings wird diese Methode von den meisten SMTP Servern entweder nicht unterstützt, da optional, oder ist blockiert. Durch diese Möglichkeit wird leider auch Spam erleichtert, da einfach die Existenz tausender Emailadressen in kürzester Zeit auf einem Rechner getestet werden kann.

Beste Möglichkeit ist wohl, einfach eine Email zu versenden und zu warten, ob es durchgeht oder eine Fehlermeldung innerhalb von 48h kommt.

@danielA: Die zweite Möglichkeit wird von jedem SMTP Server zugelassen, wenn die Zieldomain auf dem SMTP Server registriert ist Muss ja auch, sonst würde das ganze System nicht gehen.

......
Daniel Lizbeth
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
Benutzerbild von Salomon
Salomon

Registriert seit: 9. Jun 2002
453 Beiträge
 
#6
  Alt 21. Mai 2003, 10:13
Also prüfen ob eine Mail-Adresse existiert kann man schon. Dazu muss man "nur" den Zielrechner abfragen ob ein MX Eintrag für die jeweilige E-Mail Adresse existiert.
Unter PHP gibt es dazu folgende funktion "checkdnsrr($host, "MX")" Das ganze läst sich sicher auch in Delphi realisieren.
01001000 01100001 01101100 01101100 01101111
01010111 01100101 01101100 01110100 00100001

http://www.it-adviser.net
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: Unterhaching
11.412 Beiträge
 
Delphi 12 Athens
 
#7
  Alt 21. Mai 2003, 10:22
Zitat von Salomon:
Also prüfen ob eine Mail-Adresse existiert kann man schon. Dazu muss man "nur" den Zielrechner abfragen ob ein MX Eintrag für die jeweilige E-Mail Adresse existiert.
Unter PHP gibt es dazu folgende funktion "checkdnsrr($host, "MX")" Das ganze läst sich sicher auch in Delphi realisieren.
Falsch Damit überprüfst Du die Existenz der Domain (alles nach dem @), aber nicht die Existenz der Emailadresse selbst. Der MX Eintrag definiert den (oder die) für die Emailverwaltung zuständigen Server. Nicht die verwalteten Emailadressen.

......

P.S.: Ich verwalte zur Zeit für ca. 25 Kunden Domains, inkl. Emailhosting Damit verdiene ich einen Teil meines Geldes.
Daniel Lizbeth
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:43 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz