AGB  ·  Datenschutz  ·  Impressum  







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

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
Seite 1 von 2  1 2      
TigerLilly

Registriert seit: 24. Mai 2017
Ort: Wien, Österreich
1.176 Beiträge
 
Delphi 11 Alexandria
 
#1

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

  Alt 17. Aug 2023, 07:53
Delphi-Version: 5
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. :- )
  Mit Zitat antworten Zitat
Der schöne Günther

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

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

  Alt 17. Aug 2023, 08:02
Ich habe keine vorgefertigte Funktion aus der Delphi-RTL, also strenggenommen keine Antwort auf deine Frage, aber will trotzdem mahnend Postel's Law erwähnen.
Zitat:
“be conservative in what you do, be liberal in what you accept from others”

„sei streng bei dem, was du tust, und offen bei dem, was du von anderen akzeptierst“

RFC 761
Wie oft haben mir schon irgendwelche Oberflächen meine vollkommen gültige Email-Adresse um die Ohren gehauen, sie sei nicht gültig 🙄
  Mit Zitat antworten Zitat
Benutzerbild von dummzeuch
dummzeuch

Registriert seit: 11. Aug 2012
Ort: Essen
1.468 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#3

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

  Alt 17. Aug 2023, 08:13
Google Bard behauptet, diese RegEx sei dafür geeignet:

Delphi-Quellcode:
function ValidateEmail(const Email: string): Boolean;
var
  Regex: TRegEx;
begin
  Regex := TRegEx.Create('^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z]{2,6}$');
  Result := Regex.Exec(Email);
end;
Zitat:
Zitat:
Does this also work for umlaut domains and all kinds of local parts used e.g. in China?
Yes, the regular expression pattern I provided is also compatible with umlaut domains and all kinds of local parts used in China. This is because the pattern only specifies the characters that are allowed in the local part and the domain part, and does not make any distinction between different languages.

For example, the following email addresses are all valid according to the regular expression pattern:

test@äpfel.de (umlaut domain)
张三@qq.com (Chinese local part)
中文@126.com (Chinese local part with spaces)
However, it is important to note that not all email providers support all characters. For example, some providers may not support umlauts in the local part. So, it is always a good idea to test an email address with the actual email provider before sending an email to it.

Here are some additional resources that you may find helpful:

RFC 5322: Internet Message Format: https://tools.ietf.org/html/rfc5322
Regular Expressions Tutorial: https://www.regular-expressions.info/tutorial.html
Ehrlich gesagt, bin ich da skeptisch. Ich habe schon so häufig RegEx-Strings gefunden, die E-Mails validieren sollen, die dann doch irgendwo versagt haben.

Hier ist z.B. eine Liste von E-Mail Adressen, mit denen man testen kann:

https://gist.github.com/cjaoude/fd9910626629b53c4d25
Thomas Mueller
  Mit Zitat antworten Zitat
Benutzerbild von Gausi
Gausi

Registriert seit: 17. Jul 2005
847 Beiträge
 
Delphi 11 Alexandria
 
#4

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

  Alt 17. Aug 2023, 08:23
Ich hab sowas neulich auch gesucht, und bin dann ebenfalls bei den "uralten RegEx" hängen geblieben. Die ist zwar so lang, dass ich die nicht wirklich nachvollziehen kann, scheint aber soweit zu funktionieren.
Delphi-Quellcode:
REGEX_EMAIL = '^((?>[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)>)$';
Hatte bei mir aber auch keine Priorität, da ich die nur als optionalen Parameter für eine online-Abfrage brauche. Per default wird eine hard codierte Adresse genommen, die formal gültig ist, aber nicht existiert. Wenn der User dort was einträgt, was der Dienst dann als ungültig empfindet, kann ich da dann auch nichts dran ändern.

Wie oft haben mir schon irgendwelche Oberflächen meine vollkommen gültige Email-Adresse um die Ohren gehauen, sie sei nicht gültig 🙄
Kenn ich auch. Facebook war damals z.B. auch der Meinung, dass meine Adresse ungültig ist.
The angels have the phone box.
  Mit Zitat antworten Zitat
Benutzerbild von MEissing
MEissing

Registriert seit: 19. Jan 2005
Ort: Egelsbach
1.384 Beiträge
 
Delphi 12 Athens
 
#5

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

  Alt 17. Aug 2023, 08:27
test@äpfel.de
scheitert schonmal
Ebenso matthias@eißing.de

BTW: Exec oder IsMatch von TRegEx?
Matthias Eißing
cu://Matthias.Eißing.de [Embarcadero]
Kein Support per PN
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#6

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

  Alt 17. Aug 2023, 08:30
.+@.+\..+
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat
TigerLilly

Registriert seit: 24. Mai 2017
Ort: Wien, Österreich
1.176 Beiträge
 
Delphi 11 Alexandria
 
#7

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

  Alt 17. Aug 2023, 08:33
Ich habe eine recht einfache Frage gestellt. Seids bitte so nett und antwortet darauf + oder beschränkt Euch aufs mitlesen.
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#8

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

  Alt 17. Aug 2023, 08:35
Die Frage ist eben nicht so einfach wie du denkst.
Und die Antwort ist, dass es wahrscheinlich keinen großen Sinn macht zu viel Zeit und Energie da rein zu stecken weil du am Ende ne riesige RegEx hast die dann doch nicht zu 100% klappt und entweder manche gültige Adressen nicht durchlässt oder/und ungültige durchlässt
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat
Benutzerbild von Gausi
Gausi

Registriert seit: 17. Jul 2005
847 Beiträge
 
Delphi 11 Alexandria
 
#9

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

  Alt 17. Aug 2023, 08:39
Die Frage ist eben nicht so einfach wie du denkst.
Nuja, die Frage ist ja eigentlich, ob da bei Delphi direkt was dabei ist, was man nutzen kann.

Ich habe bei meiner Suche neulich nichts gefunden, und habe dann irgendwo diesen Monster-RegEx gefunden. Das Ding von Google Bard ist deutlich zu einfach gestrickt, und der erläuternde Text dazu darunter ist schlicht falsch, denke ich.
The angels have the phone box.
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

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

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
Antwort Antwort
Seite 1 von 2  1 2      


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:05 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