EMail-Adresse testen

Hallo liebe Experten,
im Moment schreibe ich an einer Methode,
wie man EMail-Adressen auf Gültigkeit testen kann.

Das habe ich mir sehr einfach vorgestellt.
Allerdings sind recht viele Eigenschaften zu testen.

  • Sind @ und Punkt vorhanden?
  • Ist @ vor Punkt?
  • Ist mindestens ein Buchstabe oder eine Zahl vor dem @?
  • Ist mindestens ein Buchstabe oder Zahl zwischen @ und dem Punkt?
  • Sind mindestens 2 Buchstaben nach dem Punkt?

Wahrscheinlich gibt es noch mehr Anforderungen an eine gültige EMail-Adresse.
Wer weiß, welche es sind?

Die Methode hat schon eine solide Größe erreicht. Und sicher werden EMail-Adressen recht oft geprüft. Gibt es da nicht irgend eine Klasse, welche die Prüfung ganz einfach erledigt?

Danke
und tschüs
Uwe

Auch hallo.

Hallo liebe Experten,
im Moment schreibe ich an einer Methode,
wie man EMail-Adressen auf Gültigkeit testen kann.

Was nicht heissen muss, dass die Adresse deswegen nicht existieren würde: http://www.tecchannel.de/news/themen/server/433397/

Das habe ich mir sehr einfach vorgestellt.
Allerdings sind recht viele Eigenschaften zu testen.

  • Sind @ und Punkt vorhanden?

nur einer ? Man beachte die Adresse des Autors dieser Zeilen :smiley:

  • Ist @ vor Punkt?

dito

  • Ist mindestens ein Buchstabe oder eine Zahl vor dem @?
  • Ist mindestens ein Buchstabe oder Zahl zwischen @ und dem
    Punkt?
  • Sind mindestens 2 Buchstaben nach dem Punkt?

Wahrscheinlich gibt es noch mehr Anforderungen an eine gültige
EMail-Adresse.
Wer weiß, welche es sind?

Ein Tip: die API Javamail unter http://www.javaworld.com/isearch?qt=javamail&x=0&y=0…
oder http://www.javamagazin.de/itr/ausgaben/psecom,id,244…
könnte hier weitere Inspirationen liefern

Die Methode hat schon eine solide Größe erreicht. Und sicher
werden EMail-Adressen recht oft geprüft. Gibt es da nicht
irgend eine Klasse, welche die Prüfung ganz einfach erledigt?

s.oben

HTH
mfg M.L.

Hallo,

warum nicht einfach ein RegEx? Es wird doch wohl eine RegEx Library unter Java geben, oder?

Hier eine im POSIX-Format:

^([a-zA-Z0-9_-])+(.([a-zA-Z0-9_-])+)*@(([(((([0-1])?([0-9])?[0-9])
|(2[0-4][0-9])|(2[0-5][0-5]))).(((([0-1])?([0-9])?[0-9])|(2[0-4][0-9]
)|(2[0-5][0-5]))).(((([0-1])?([0-9])?[0-9])|(2[0-4][0-9])|(2[0-5][0-5]
))).(((([0-1])?([0-9])?[0-9])|(2[0-4][0-9])|(2[0-5][0-5]))]))|(((
[a-zA-Z0-9])+(([-])+([a-zA-Z0-9])+)*.)+([a-zA-Z])+(([-])+([a-zA-Z0
-9])+)*))$

Die Zeilenumbrüche müsstest du noch entfernen.

Daniel

Vielen Dank
Hallo Daniel und Markus,
vielen Dank für die wertvollen Hinweise.
Nun bin ich ein ganzes Stück weiter.

und tschüs
Uwe
http://www.haller-mtl.de/

.