Delphi-PRAXiS
Seite 1 von 4  1 23     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi [D2009] Online eMail-Adress Prüfung obs valide ist? (https://www.delphipraxis.net/197312-%5Bd2009%5D-online-email-adress-pruefung-obs-valide-ist.html)

KodeZwerg 30. Jul 2018 08:38


[D2009] Online eMail-Adress Prüfung obs valide ist?
 
Delphi-Version: Delphi 2009

Hallo,
mit Delphis Online Komponenten bin ich Neuling und ich benötige für einen Registrier-Dialog eine Prüfung ob eingegebene eMail Adresse tatsächlich existiert.
Ich möchte keine eMail dahin versenden, nur online Prüfen ob das Ziel valide ist.
Mein Delphi hat momentan keine Dritthersteller Tools, aber auf Platte schlummert noch ICS falls das helfen kann dabei.

So etwas wünsche ich mir / pseudo-Code:
Delphi-Quellcode:
if CheckEmailAddresse('max.muster@mann.de') = True then .....

Hätte jemand für solchen Zweck eventuell etwas was mir dabei helfen kann dies zu realisieren?

Später würde ich gerne meine App erweitern mit der Möglichkeit ein eMail Formular an mich selbst zu versenden. Support-Features.

Mein momentaner Applikation Status = es sind noch gar keine Online Dinge integriert.

Ps: DP Suche und CodeLib haben bei mir zu keinem Resultat geführt.

jobo 30. Jul 2018 09:03

AW: [D2009] Online eMail-Adress Prüfung obs valide ist?
 
Vielleicht hilft das:
http://www.howtodothings.com/compute...in-delphi.html

Mal zu Deiner Fußzeile:
Erwartete Fehler sind die, die bekanntermaßen auftreten können. Z.B. datei speichern, Speicherplatz unzureichend. Oder früher mal unter Delphi(?), Fehler "nicht genügend Speicherplatz" erwartet> verfügbare Größe abgefragt, Werteüberlauf wegen riesiger freier Festplatte, auch ein "erwartbarer" Fehler, zumindest beim 2.Mal, umgerechnet, genug Platz frei, also speichern.

Im Prinzip finde ich diese Frage auch spannend. Aber ich würde sagen, das ist eigentlich alltägliche Arbeit eines Programmierers.

MEissing 30. Jul 2018 09:22

AW: [D2009] Online eMail-Adress Prüfung obs valide ist?
 
Man muss hier zwei Dinge unterschieden:
- Syntaktische Richtigkeit (name@domain.TLD) und
- inhaltliche Korrektheit

Ersteres ist am besten über PCRE (Regular Expressions) möglich:
Man sollte aber auch bedenken, daß das nicht die ganze Wahrheit ist!
https://davidcel.is/posts/stop-valid...es-with-regex/
(Tl'dr:MIt RegEx kann man auch nicht alle gültigen eMail Adressen finden)

Zweitens ist unmöglich. Es gib kein zentrales Verzeichnis alles eMail Adressen. Und die meisten eMail-Server reagieren auf "Gültigkeitsanfragen" jedweder Art nicht.

KodeZwerg 30. Jul 2018 09:32

AW: [D2009] Online eMail-Adress Prüfung obs valide ist?
 
Danke jobo & MEissing, ich habe Eure Links gecheckt, da geht es aber nicht um eine Online-Prüfung, nur ob Input einer Norm entspricht.

Meine Fußzeile bedarf zwar keiner Antwort, ich finde es manchmal einfach nur lustig was Windows so von sich gibt :stupid:


Meine Theorie, da ich Neuling bin ist das bestimmt falsch, wäre es so in etwa umzusetzen:
1. DNS abfrage ob Domain existiert
2. SMTP abfrage ob Domain überhaupt diesen Service anbietet
3. auf eben diesen Server connecten
4. “RCPT TO” Kommando darauf loslassen
5. Auswerten was der Server von sich gibt

Mir fehlt das Basiswissen zu allen Punkten.

jobo 30. Jul 2018 09:46

AW: [D2009] Online eMail-Adress Prüfung obs valide ist?
 
Ja, kann man machen.
Allererster Schritt vor irgendeiner Online Aktion aus einem Programm heraus, das sowas noch nie gemacht hat, wäre m.E. sicherzustellen, dass das (eigene) Programm selbst online ist und die benötigten Kanäle (Ports) nach draußen frei sind.
"Ja, klar, natürlich bin ich selber online, ist doch selbstverständlich..."
Na vielleicht nicht, und wenn Du es nicht bist, was ist dann mit der Prüfung der Adressen? Der Mechnismus müsste dann queuen oder das Programm selbst müsste "online" laufen, dann wäre die Hürde schon mal genommen. (Ist aber bei einem nativen Delphiprogramm nicht die Regel-sagen wir mal) oder Du schaltest intelligent auf einen Offline Fallback um.

Am Ende kann man diesen Kram doch wohl am wirkungsvollsten behandeln, indem man Emails mit "Callback" Links verschickt, wie man es von Registrierung und Co kennt.

Schokohase 30. Jul 2018 09:46

AW: [D2009] Online eMail-Adress Prüfung obs valide ist?
 
Informiere dich darüber, wie (viele) Mail-Server sich aktuell vor Spam-Schleudern schützen. Das sollte für eine Erkenntnis und Abwägung soweit erstmal genügen.

KodeZwerg 30. Jul 2018 10:09

AW: [D2009] Online eMail-Adress Prüfung obs valide ist?
 
Callback / Junk-Schutz wollte ich einbauen nachdem meine Theorie durch ist. Danke definitiv für diese Guten Worte/Hinweise !


Dann mach ich mich mal auf die Suche wie ich meine Theorie in Delphi-Code verwandel, als Quick-Test sozusagen, für eine reelle Prüfung habe ich später vorgehabt so etwas in der Art umzusetzen:
Reelle Theorie:
1. Sende tatsächlich eine eMail
2. Werte SMTP Ergebnis aus ob Server eMail ablehnt
3. warte bis zu 24Std auf Reaktion von Server (also eigenes Konto abrufen ob ein Senden-Fehlerbericht vorliegt)

Oder eben generell nur auf "ich sende eMail, schreibt Empfänger nicht zurück dann war es Mist."
Wie ich so etwas automatisieren kann muss ich mir noch aneignen, das trifft auch auf Punkt 3 zu.

Delphi.Narium 30. Jul 2018 10:21

AW: [D2009] Online eMail-Adress Prüfung obs valide ist?
 
DNS-Abfreage kann schonmal ein Ansatz sein.

Schau bitte mal hier: https://www.qualidator.com/WQM/de/Tools/DNSReport.aspx

Dort gib' die Domain Deiner Wahl ein.

Du erhältst ggfls. Infos zu den von der Domain "vorgehaltenen" Servern, wie z. B. Nameserver, SMPTServer ...

Bei den Indys gibt's tIdDNSResolver, damit kann man die entsprechenden Infos auch selber abfragen. ICS sollte sowas auch bieten (tDnsQuery).

Und die Infos jetzt an Tante Google: Bei Google suchendelphi source IdDNSResolver oder Bei Google suchendelphi source DnsQuery

Damit sollte dann ein Anfang möglich sein. (Und wie fast schon üblich, wird man damit hier in der Delphipraxis fündig :-))

https://www.delphipraxis.net/102950-...indy-10-a.html

Automatisieren lässt sich das mit Delphi sicherlich.

Zuerst mal DNS-Abfrage.
Gibt's die Domain?
Hat sie 'nen Mailserver (MX-Record)?
Dann 'ne Mail hinschicken und auf die Antwort des Mailempfängers warten.
Das eigene Postfach kann man auch selbst mit Delphimitteln abfragen und die Antwortmails / erhaltenen Fehlermeldungen auswerten.

Technisch müsste Deine Aufgabenstellung umzusetzen sein, die Frage ist halt: Wieviel Aufwand willst Du da reinstecken?

Welche "Hürden" werden Dir von den mehr oder weniger unbekannten "Partnern" entgegengestellt?

Also das beliebte Thema: Wie realisieren wir eine (mehr oder weniger) vollständige Fehler- und Ausnahmenbehandlung?

Neutral General 30. Jul 2018 10:29

AW: [D2009] Online eMail-Adress Prüfung obs valide ist?
 
Zitat:

Zitat von MEissing's Link
Just send them an email already
No, I’m not joking. Just send your users an email.

Brauchst du die ganze Prüfung denn wirklich?
Sieht mir nach Overkill aus.

CCRDude 30. Jul 2018 10:31

AW: [D2009] Online eMail-Adress Prüfung obs valide ist?
 
Jeder Spammer würde Jubelschreie ausstoßen, wenn sich die Existenz von Email-Postfächern so passiv testen ließe.

SMTP-Server können (konnten) das prüfen, aber ich erinnere mich grob, dass das schon vor 20 Jahren eben aus Spamvermeidungsgründen flächendeckend deaktiviert wurde.

In Sachen Datenschutz wäre die folgende heute gängige Methode wohl der Kompromiss:
Email mit Code/Link an Adresse verschicken, über den Empfang der Email vom Halter der Email-Adresse bestätigt werden muss (Link anklicken oder Code eingeben).

Bei syntaktischer Prüfung vorab bitte unbedingt in den Standard schauen, nicht einfach nur auf die üblichen verdächtigen Buchstaben prüfen... mehr als die Hälfte aller Webseite lehnen gültige Adressen z.B. mit "+" im Usernamen ab. Erlebe ich immer wieder, weil ich Googles Alias-System verwende (username+irgendwas@example.com landet automatisch in Inbox username@example.com, d.h. ich kann spezifische Email-Adressen pro Dienst verwenden, ohne etwas einzurichten, und sehe sofort, wer meine Email-Adresse veruntreut hat, wenn ich mal Spam erhalte).

Schließe mich ansonsten der Overkill-Fraktion an :D


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:03 Uhr.
Seite 1 von 4  1 23     Letzte »    

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