![]() |
Delphi-Version: 2010
eMailadresse auf richtigen Syntax prüfen
Hallo zusammen
Ich habe folgenden Code geschrieben um eine Mailadresse auf Gültigkeit zu überprüfen. Wobei es immer noch sein kann, dass die Adresse nicht vorhanden ist (dies ist zu vernachlässigen).
Delphi-Quellcode:
Habt Ihr allenfalls wietere Tipps die Adresse noch besser zu prüfen?
function Tfrm_edecAusfuhrDeklaration.ValidEmail(const sValue: String): Boolean;
function CheckAllowed(const sTemp: String): Boolean; var iFor: Integer; begin Result := False; for iFor := 1 to Length(sTemp) do begin if not (sTemp[iFor] in ['a'..'z','A'..'Z','0'..'9','_','-','.']) then begin Exit; end; end; Result := True; end; var iPos: integer; NamePart, ServerPart: string; begin Result := False; iPos := Pos('@', sValue); if (iPos = 0) or (Pos('..', sValue) > 0) then begin Exit; end; NamePart := Copy(sValue, 1, iPos - 1); ServerPart := Copy(sValue, iPos +1, Length(sValue)); if (Length(NamePart) = 0) or ((Length(ServerPart) < 4)) then begin Exit; end; iPos := Pos('.', ServerPart); if (iPos = 0) or (iPos >= (Length(ServerPart) - 1)) then begin Exit; end; //Result := CheckAllowed(NamePart) and CheckAllowed(ServerPart); Result := True; end; Vielen Dank für weitere Tipps! |
AW: eMailadresse auf richtigen Syntax prüfen
|
AW: eMailadresse auf richtigen Syntax prüfen
Zitat:
Ich würde für eine syntaktische Prüfung nicht viel mehr als auf @ und . testen. Wenn wirklich wichtig, gibt es Aktivierungslinks & co. |
AW: eMailadresse auf richtigen Syntax prüfen
Zitat:
Nja, aber zu deinem CheckAllowed: Du läßt keine Umlautdomains zu? is ja voll gemein :cry: PS:
Delphi-Quellcode:
oder gar
a@b.c
Delphi-Quellcode:
ist also eine gültige eMail? (vobei es auch noch vollkommen egal ist, was hinter dem Punkt steht)
@._
|
AW: eMailadresse auf richtigen Syntax prüfen
Lt. RFC sind alle ASCII-Zeichen über 127 für EMail-Adressen verboten. Umlautdomains müssen also vorher schon durch Punycode umkodiert werden.
|
AW: eMailadresse auf richtigen Syntax prüfen
Zusätzlich zu der Regex-Prüfung würde ich noch ermitteln, ob es zu dem Domainnamen (alles hinter dem @) eine MX-Eintrag im DNS gibt.
Wenn es diesen nicht gibt, dann müsste geprüft werden, ob es einen A-Eintrag gibt. Gibt es beide nicht, dann ist die Email ungültig. |
AW: eMailadresse auf richtigen Syntax prüfen
Vielen Dank an alle!
Habe jetzt genug "Stoff" :-) |
AW: eMailadresse auf richtigen Syntax prüfen
Wenn du das ganze nicht gerade in einem Webprojekt verbauen möchtest, könnte es sinnvoll sein, evtl. die Prüfung auf den Punkt wegfallen zu lassen.
Denn: Es gibt auch lokale E-Mail-Addressen in der Form User@Rechnername - und die würden bei dir nicht durchkommen. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:17 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