AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

eMailadresse auf richtigen Syntax prüfen

Ein Thema von Jerry · begonnen am 29. Jul 2011 · letzter Beitrag vom 29. Jul 2011
Antwort Antwort
Jerry

Registriert seit: 24. Feb 2005
Ort: Schweiz/Thurgau
138 Beiträge
 
Delphi 2010 Professional
 
#1

eMailadresse auf richtigen Syntax prüfen

  Alt 29. Jul 2011, 15:27
Delphi-Version: 2010
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:
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;
Habt Ihr allenfalls wietere Tipps die Adresse noch besser zu prüfen?

Vielen Dank für weitere Tipps!
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.641 Beiträge
 
#2

AW: eMailadresse auf richtigen Syntax prüfen

  Alt 29. Jul 2011, 15:28
http://www.regular-expressions.info/email.html
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
Benutzerbild von Meflin
Meflin

Registriert seit: 21. Aug 2003
4.856 Beiträge
 
#3

AW: eMailadresse auf richtigen Syntax prüfen

  Alt 29. Jul 2011, 15:34
Wobei es immer noch sein kann, dass die Adresse nicht vorhanden ist (dies ist zu vernachlässigen).
Habt Ihr allenfalls wietere Tipps die Adresse noch besser zu prüfen?
Fällt dir da nichts auf

Ich würde für eine syntaktische Prüfung nicht viel mehr als auf @ und . testen. Wenn wirklich wichtig, gibt es Aktivierungslinks & co.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: eMailadresse auf richtigen Syntax prüfen

  Alt 29. Jul 2011, 15:41
Delphi-Quellcode:
  Result := True;
end;


Nja, aber zu deinem CheckAllowed:
Du läßt keine Umlautdomains zu?
is ja voll gemein

PS: a@b.c oder gar @._ ist also eine gültige eMail? (vobei es auch noch vollkommen egal ist, was hinter dem Punkt steht)
$2B or not $2B

Geändert von himitsu (29. Jul 2011 um 15:46 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.641 Beiträge
 
#5

AW: eMailadresse auf richtigen Syntax prüfen

  Alt 29. Jul 2011, 15:43
Lt. RFC sind alle ASCII-Zeichen über 127 für EMail-Adressen verboten. Umlautdomains müssen also vorher schon durch Punycode umkodiert werden.
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
generic

Registriert seit: 24. Mär 2004
Ort: bei Hannover
2.416 Beiträge
 
Delphi XE5 Professional
 
#6

AW: eMailadresse auf richtigen Syntax prüfen

  Alt 29. Jul 2011, 15:50
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.
Coding BOTT - Video Tutorials rund um das Programmieren - https://www.youtube.com/@codingbott
  Mit Zitat antworten Zitat
Jerry

Registriert seit: 24. Feb 2005
Ort: Schweiz/Thurgau
138 Beiträge
 
Delphi 2010 Professional
 
#7

AW: eMailadresse auf richtigen Syntax prüfen

  Alt 29. Jul 2011, 16:01
Vielen Dank an alle!
Habe jetzt genug "Stoff"
  Mit Zitat antworten Zitat
Benutzerbild von implementation
implementation

Registriert seit: 5. Mai 2008
940 Beiträge
 
FreePascal / Lazarus
 
#8

AW: eMailadresse auf richtigen Syntax prüfen

  Alt 29. Jul 2011, 18:10
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.
  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 19:49 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