eMail-Adressen-Validierung

Hag2bard

Bekanntes Mitglied
Hallo,

ich möchte eine eMail-Validierung programmieren.
Derzeit nutze ich javax.mail.internet.InternetAddress#validate.

Da ich das ganze aber selber realisieren möchte, wüsste ich gerne, wie ich dies am besten umsetze.
Gibt es irgendwo Bedingungen für eine gültige eMail Adresse mit deren Hilfe ich meine Implementierung umsetzen kann?
 

KonradN

Super-Moderator
Mitarbeiter
Da schauen wir einfach mal, was wir da so finden:

Guter Einstiegspunkt wie immer: Wikipedia: Email address - Wikipedia

Und da finden sich dann die Links zu den RFCs, die da wichtig sind: 5322 und 6854

Bei der 5322 findet sich dann in 3.4.1 die folgende Spezifikation:
addr-spec = local-part "@" domain

local-part = dot-atom / quoted-string / obs-local-part

domain = dot-atom / domain-literal / obs-domain

domain-literal = [CFWS] "[" *([FWS] dtext) [FWS] "]" [CFWS]

dtext = %d33-90 / ; Printable US-ASCII
%d94-126 / ; characters not including
obs-dtext ; "[", "]", or "\"
 

Hag2bard

Bekanntes Mitglied
addr-spec = local-part "@" domain

local-part = dot-atom / quoted-string / obs-local-part

domain = dot-atom / domain-literal / obs-domain

domain-literal = [CFWS] "[" *([FWS] dtext) [FWS] "]" [CFWS]

dtext = %d33-90 / ; Printable US-ASCII
%d94-126 / ; characters not including
obs-dtext ; "[", "]", or "\"
Kannst du das erklären?
Ich kann mit der Syntax nichts anfangen.
 

Robert Zenz

Top Contributor
Du musst es als Objekt-Konkatenierung mut Zuweisung lesen.

Also eine E-Mail Adresse (addr.spec) setzt sich zusamen aus local-part gefolgt von einem @ gefolgt von domain. local-part wiederum ist entweder ein dot-atom oder ein quoted-string oder ein obs-local-part. Und immer so weiter bis auf der untersten definierten Ebene angekommen bist.

Validieren von E-Mail Adressen ist ohnehin schwer, denn wenn ich mich richtig erinnere is .@someplace eine valide E-Mail Adresse laut Spezifikation. Daher wird bei vielen einfach nur kontrolliert ob die E-Mail Adresse nur ein "@" enthaelt und ob dieses weder das erste noch das letzte Zeichen ist. Dann wird eine E-Mail an die Adresse geschickt.
 

mrBrown

Super-Moderator
Mitarbeiter
Der mMn sinnvollste Weg ist, "Validierung" nur im Frontend zu machen, und dazu auch nicht wirklich validieren sondern nur prüfen ob die Mail "üblich" aussieht und dem Nutzer andernfalls einen Hinweis anzuzeigen - verringert zumindest die Wahrscheinlichkeit von dummen Tippfehlern.

Um wirklich zu testen, ob eine Mail zumindest in irgendeiner Art und Weise existiert, muss man so oder so einen Mail schicken und eine Antwort in irgendeiner Form erwarten, zB URL mit eindeutigem Token, die der Nutzer öffnen soll. Aber selbst das ist nur ein "zu diesem Zeitpunkt konnte unter der Adresse was empfangen werden", kann ab dann ja trotzdem ungültig sein.
 

Hag2bard

Bekanntes Mitglied
addr-spec = local-part "@" domain

local-part = dot-atom / quoted-string / obs-local-part

domain = dot-atom / domain-literal / obs-domain

domain-literal = [CFWS] "[" *([FWS] dtext) [FWS] "]" [CFWS]

dtext = %d33-90 / ; Printable US-ASCII
%d94-126 / ; characters not including
obs-dtext ; "[", "]", or "\"
Kannst du das erklären?
Ich kann mit der Syntax nichts anfangen.


Edit: Das Thema ist nicht mehr aktuell, scheinbar hat mein Handy ein Entwurf gespeichert und gerade versehentlich doch erstellt.
 

Robert Zenz

Top Contributor
Kannst du das erklären?
Ich kann mit der Syntax nichts anfangen.

Die Syntax ist:

Code:
NAME = DEFINITION

Also addr-spec ist definiert als local-part "@" domain, setzt sich also aus local-part und domain zusammen mit einem buchstaeblichen "@" dazwischen. local-part besteht entweder aus dot-atom, oder quoted-string oder obs-local-part, und so weiter und so weiter.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
F RegEx für Email Java Basics - Anfänger-Themen 2
C Sicherheitslücke beheben & Email per Java? Java Basics - Anfänger-Themen 38
B Email versenden, muss Methode static sein? Java Basics - Anfänger-Themen 7
B Email Client in der eigenen Software einbauen Java Basics - Anfänger-Themen 3
B java.mail - Email antworten und Content ausgeben Java Basics - Anfänger-Themen 4
G Email senden MailDev Java Basics - Anfänger-Themen 13
B Email versand - aber akzeptiert auch falscher Username und Passwort??? Java Basics - Anfänger-Themen 1
K Einzelne Email verschieben nicht möglich Java Basics - Anfänger-Themen 3
M Email versenden Outlook, attached File, ohne Anmeldung Java Basics - Anfänger-Themen 4
N Email mit Anhang - File not Found Java Basics - Anfänger-Themen 1
G Email-sending Button Java Basics - Anfänger-Themen 9
F ClassNotFound - Email Java Basics - Anfänger-Themen 0
B Pattern für Email Liste Java Basics - Anfänger-Themen 3
W Mozilla Thunderbird email an alle Kontakte Java Basics - Anfänger-Themen 3
8 Eigenes Bild in email einfügen Java Basics - Anfänger-Themen 1
K Email versenden mit Java Java Basics - Anfänger-Themen 4
G Email ueber Socks versenden Java Basics - Anfänger-Themen 6
achillesat Email versenden Java Basics - Anfänger-Themen 5
B Email versenden Java Basics - Anfänger-Themen 28
S Mit Java Email versenden Java Basics - Anfänger-Themen 7
A Java Mail 1.4.4 - Email versenden (HOTMAIL SMTP auth) Java Basics - Anfänger-Themen 9
B Problem beim Email versenden mit Javamail Java Basics - Anfänger-Themen 5
S Email verschicken Java Basics - Anfänger-Themen 2
M Java Email Versand mit freenet Java Basics - Anfänger-Themen 7
P Email versenden für einsteiger Java Basics - Anfänger-Themen 6
S Email und SMTP Java Basics - Anfänger-Themen 3
G Email Adresse in JTextField ueberpruefen Java Basics - Anfänger-Themen 5
G EMail-Versand funktioniert nicht Java Basics - Anfänger-Themen 2
G eMail versenden Java Basics - Anfänger-Themen 31
G eMail verschicken in einem Java-Programm Java Basics - Anfänger-Themen 8
G Email Adresse auf Richtigkeit prüfen Java Basics - Anfänger-Themen 11
J Email-Anbindung geht net Java Basics - Anfänger-Themen 10
M Email versenden, ohne eigenen pop3-server? Java Basics - Anfänger-Themen 7
C Aus Java eine Email wo der Body den Inhalt aus einer .... Java Basics - Anfänger-Themen 6
P Einfacher regulärer Ausdruck (RegEx) für E-Mail-Adressen Java Basics - Anfänger-Themen 2
S Netzwerk nach ip adressen scannen Java Basics - Anfänger-Themen 7
S Erreichbarkeit von IP-Adressen überprüfunen - Denkansätze Java Basics - Anfänger-Themen 16
G JavaMail funzt nur mit Adressen die ich vorher abgerufen hab Java Basics - Anfänger-Themen 3
D Suchen nach E-Mail Adressen mit RegEx? Java Basics - Anfänger-Themen 14

Ähnliche Java Themen

Neue Themen


Oben