AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

E-Mail Adresse auf Gültigkeit überprüfen

Ein Thema von TigerLilly · begonnen am 17. Aug 2023 · letzter Beitrag vom 18. Aug 2023
Antwort Antwort
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.643 Beiträge
 
Delphi 12 Athens
 
#1

AW: E-Mail Adresse auf Gültigkeit überprüfen

  Alt 17. Aug 2023, 08:40
Ich habe eine recht einfache Frage gestellt.
Genau genommen hast du das gar nicht!
In meinem Code habe ich uralte RegEx-Tests, um eine E-Mail Adresse auf formale Gültigkeit zu prüfen. Ich habe gesucht, aber nicht gefunden, ob die Delphi 11.3 RTL oder StrUtils oder sonst eine Unit von Delphi mittlerweile da auch was haben.

Danke für Erleuchtung. :- )
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von TigerLilly
TigerLilly

Registriert seit: 24. Mai 2017
Ort: Wien, Österreich
1.241 Beiträge
 
Delphi 12 Athens
 
#2

AW: E-Mail Adresse auf Gültigkeit überprüfen

  Alt 17. Aug 2023, 08:42
Dann formuliere ich gern um:

In meinem Code habe ich uralte RegEx-Tests, um eine E-Mail Adresse auf formale Gültigkeit zu prüfen. Ich habe gesucht, aber nicht gefunden, ob die Delphi 11.3 RTL oder StrUtils oder sonst eine Unit von Delphi mittlerweile da auch was haben.

Kann mir wer sagen, ob es da etwas gibt?
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.199 Beiträge
 
Delphi 10 Seattle Enterprise
 
#3

AW: E-Mail Adresse auf Gültigkeit überprüfen

  Alt 17. Aug 2023, 08:44
In Embarcaderos Beispielen unter
https://github.com/Embarcadero/RADStudio11Demos/

gibt es auch:
Delphi-Quellcode:
        lbType.Caption := 'Email for validation';
        MemoRegEx.Lines.Text := '^((?>[a-zA-Z\d!#$%&''*+\-/=?^_`{|}~]+\x20*' +
          '|"((?=[\x01-\x7f])[^"\\]|\\[\x01-\x7f])*"\' +
          'x20*)*(?<angle><))?((?!\.)(?>\.?[a-zA-Z\d!' +
          '#$%&''*+\-/=?^_`{|}~]+)+|"((?=[\x01-\x7f])' +
          '[^"\\]|\\[\x01-\x7f])*")@(((?!-)[a-zA-Z\d\' +
          '-]+(?<!-)\.)+[a-zA-Z]{2,}|\[(((?(?<!\[)\.)' +
          '(25[0-5]|2[0-4]\d|[01]?\d?\d)){4}|[a-zA-Z\' +
          'd\-]*[a-zA-Z\d]:((?=[\x01-\x7f])[^\\\[\]]|' +
          '\\[\x01-\x7f])+)\])(?(angle)>)$';
Ich meine, großartig. Da weiß man echt auf den ersten Blick was gemeint ist.
Angehängte Grafiken
Dateityp: jpg regex.jpg (50,4 KB, 39x aufgerufen)
  Mit Zitat antworten Zitat
shebang

Registriert seit: 7. Feb 2020
144 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: E-Mail Adresse auf Gültigkeit überprüfen

  Alt 17. Aug 2023, 08:45
Die in meinen Augen einzige wirkliche Lösung wäre, direkt beim Mailserver nachzufragen, ob die Adresse existiert.
  Mit Zitat antworten Zitat
Benutzerbild von Jasocul
Jasocul

Registriert seit: 22. Sep 2004
Ort: Delmenhorst
1.371 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: E-Mail Adresse auf Gültigkeit überprüfen

  Alt 17. Aug 2023, 09:55
Die in meinen Augen einzige wirkliche Lösung wäre, direkt beim Mailserver nachzufragen, ob die Adresse existiert.
Das bringt nichts. Je nach Einstellung liefert der auch ein OK zurück, wenn die Adresse nicht existiert. Z.B. wenn ein Sammelpostfach für nicht vorhandene Adressen eingerichtet ist.
Außerdem:
- Kein Internet (oder keine Berechtigung) -> Keine Prüfung möglich
- Adressen, die noch nicht existieren (z.B. bei Neuanlage), lassen sich so auch nicht prüfen
- Server-Ausfall
- temporäre Sperre der Adresse oder des Servers
- Relaying denied
- etc.
Peter
  Mit Zitat antworten Zitat
ringli

Registriert seit: 7. Okt 2004
517 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: E-Mail Adresse auf Gültigkeit überprüfen

  Alt 17. Aug 2023, 10:16
Ich werde wahrscheinlich gleich gesteinigt, aber warum nicht einfach so:
var IsValidMail : Boolean := System.Masks.MatchesMask('test@mailserver.com', '*@*'); Natürlich wird es damit keine 100%-tige Sicherheit geben, aber in den meisten Fällen sollte das doch eigentlich ausreichen statt mit aufwendigen RegEx-Ausdrücken zu arbeiten.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.374 Beiträge
 
Delphi 12 Athens
 
#7

AW: E-Mail Adresse auf Gültigkeit überprüfen

  Alt 17. Aug 2023, 12:23
Es gibt ja diese netten "vollständigen" RegEx, die gefühlrt über zwei UHD-Monitore bei 10 dot

aber am Ende war alles irgendwie sch**, weil ständig einige Sonderfälle fehlten (asiaten, russen, die "neuen" Umlautdomains usw.)
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Antwort Antwort

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 12:03 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz