Mail Adressen Syntax prüfen

StefanG

Aktives Mitglied
Hallo,

ich würde gerne eine Liste mit ca. 8000 E-Mail Adressen auf einen korrekten Syntax prüfen.

Java:
Pattern p = 
Pattern.compile("[A-Za-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[A-Za-z0-9!#$%&'*+/=?^_`{|
}~-]+)*@(?:[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?\.)+[A-Za-z0-9](?:[A-Za-z0-9-]
*[A-Za-z0-9])?");

Wie muss ich den Inhalt der Schablone richtig schreiben, damit ich keine Fehlermeldung "Ungültige Escapezeichenfolge" bekomme?

vgl. How to Find or Validate an Email Address
vgl. http://www.java-forum.org/allgemeine-java-themen/91344-string-e-mail-ueberpruefen.html
 
Zuletzt bearbeitet:

Verjigorm

Top Contributor

StefanG

Aktives Mitglied
Danke erstmal für die Ratschläge.

Im Moment wird "mustermann@aol. com" als ungültig erkannt, nur halt "must ermann@aol.com" nicht.

Übersehe ich in der Schablone irgendetwas? Wenn es für die Domain funktioniert müsste man es doch auch für den Namen hinkriegen.
 

VfL_Freak

Top Contributor
Moin,

also ich prüfe E-Mailadressen hiermit auf Gültigkeit :
Java:
/**
 * Überprüft, ob ein möglicher String eine eMail-Adresse sein könnte
 * @param strMailAdress der Text mit der möglichen eMail-Adresse
 * @return true - > eMail-Adresse gefunden
 */
public static boolean validateMailAddress( String strMailAdress )
{
    boolean bResult = false;
    if (strMailAdress == null)
    {
        return bResult;
    }

    // Domain von {2,4} auf {1,3} geändert!! 
    // NUR diese Einstellung ermöglicht die Eingabe einer 2- bis 4-stelligen Domain (bisher 3-5!!)
    Pattern p = Pattern.compile( "^([_a-zA-Z0-9-]+)(.[_a-zA-Z0-9-]+)*@([a-zA-Z0-9-]+)(.[a-zA-Z0-9-]+)*(.[a-zA-Z]{1,3})[ ]*[a-zA-Z .,:;]*$" );
    Matcher m = p.matcher( strMailAdress );
    if ( !m.find() )
    {
        bResult = false;
    } 
    else
    {
        bResult = true;
    }
    return bResult;
}

Vielleicht hilft Dir das ja weiter ... ;)

Gruß
Klaus
 

StefanG

Aktives Mitglied
So wie ich deine Schablone interpretiere, prüfst du allerdings nicht so ausführlich auf Sonderzeichen, wie ich in meiner Schablone. Oder liege ich da falsch?

Bei meinen Daten weis ich, das es sich immer um E-Mail Adressen handelt, jedoch habe ich mit vielen falschen Eingaben zu tun. Sprich Sonderzeichen, Leerzeichen, Doppelte Mail Adressen, fehlende oder fehlerhafte Domain Angaben,....
 

VfL_Freak

Top Contributor
Moin,

na ja, ich gebe halt das Pattern für gültige Adressen vor und schaue dann, ob die übergebene Adresse diesem entspricht !

Ist also bspw. ein Leerzeichen oder ein Sonderzeichen enthalten, das ist die Adresse halt ungültig !!

Gruß
Klaus
 

StefanG

Aktives Mitglied
Ah okay, stimmt.

Ich habe das einfach mal über meine Testdaten laufen lassen und es werden dann leider Leerzeichen vor und nach dem @ nicht erkannt und als gültige Mail Adresse akzeptiert.
 
Zuletzt bearbeitet:

VfL_Freak

Top Contributor
Moin,

genau, mach das mal :)

Du willst doch eigentlich nur wissen, ob die übergebene Adresse gültig ist ... ist die es dem Pattern nach nicht, dann ist sie ja automatisch ungültig :D

Auf reine Ungültigkeit per Pattern zu prüfen, wäre sicher der falsche Ansatz !

Gruß
Klaus

EDIT
warum sollte <abc.xyz @ 12345.nnn> eine gültige Adresse sein ???:L???:L
 

StefanG

Aktives Mitglied
Da zitiere ich mich gerne selbst. :)

Hier gibt es ziemlich große und mächtige Regexe. Die musst Du nur für Java anpassen. Da sollte wirklich alles für Dich dabei sein. :)

Habe ich mir angeschaut, danke für den Tipp! Ich habe halt nur versucht, die von mir verwendete anzupassen, da die von dir genannten sehr lang und für mich noch schwerer nachzuvollziehen sind.
 

VfL_Freak

Top Contributor
Moin,

leider ist das hier von mir übernommene Projekt recht unübersichtlich ... ich sah auch eben, dass hier in meiner SW auch vor dem Aufruf der Validierungsfunktion ggf. vorhandene Leerzeichen entfernt werden ;)

Aber ich denke auch, das der Link von Sym vielleicht die in Deinem Sinne besseren Pattern enthält ...
Eine gute Übersicht zu den Java Pattern (und zu deren Aufdröselung :D) liefert diese Seite: Pattern (Java Platform SE 6)

Gruß
Klaus
 

VfL_Freak

Top Contributor
Moin,

bspw. mit string.toUpperCase (wenn es nur reine BUs geht)
Java:
String s1 = "abc.edf@xyz.de";
String s2 = "ABC.edf@xyz.de";

if( s1.toUpperCase().equals(s2.toUpperCase()) )
{
    // ... irgendwas
}

Gruß
Klaus
 

StefanG

Aktives Mitglied
Java:
HashSet<String> hs = new HashSet<String>();

for (int iHashSetCounter = 0; iHashSetCounter < iTokenCounter; iHashSetCounter++) {

       hs.add(sMailRecipients[iHashSetCounter].toLowerCase());
			

}

So funktionierts!
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
Z E-Mail senden Allgemeine Java-Themen 2
C Probleme mit javax.mail.Session Allgemeine Java-Themen 8
jumichel Eclipse The package javax.mail is not accessible Allgemeine Java-Themen 3
N E-Mail Validator (ohne Regex!) Allgemeine Java-Themen 7
TechnikTVcode Mail Programm Allgemeine Java-Themen 2
N E-Mail per Java verschicken Allgemeine Java-Themen 2
C javax.mail.Message message.setreplyto() null setzen (keine replyto Adresse) Allgemeine Java-Themen 25
B Java Mail: Prüfung auf neue Emails Allgemeine Java-Themen 1
B Java Mail: Emails sortieren? Allgemeine Java-Themen 5
B Java Mail: Prüfen, ob Email hat ein Anhang oder nicht Allgemeine Java-Themen 2
B Mail: Nicht vorhandener Empfänger ermitteln Allgemeine Java-Themen 4
B Java Mail: Unterscheidung bei Attachments und eingefügte Bilder in Email Allgemeine Java-Themen 18
T java mail 1.4.2| ssl Allgemeine Java-Themen 2
E javax.mail sene Type ändern Allgemeine Java-Themen 2
R Compiler-Fehler Bild per E-Mail versenden Allgemeine Java-Themen 3
H IDEA IntelliJ Java Mail funktioniert nach Export nicht mehr! Allgemeine Java-Themen 1
D JPanel in Mail darstellen Allgemeine Java-Themen 30
D Mail aus GUI generieren Allgemeine Java-Themen 2
U javax.mail.Folder.list() zeigt nicht alle Ordner Allgemeine Java-Themen 5
KeVoZ_ Java Mail senden - geht nicht Allgemeine Java-Themen 4
K Input/Output E-mail Zusammenfassen Senden Allgemeine Java-Themen 2
F Java Mail Problem: Authentifizierung wird nicht immer mitgeschickt Allgemeine Java-Themen 1
M Java Mail verwenden Allgemeine Java-Themen 20
X Mail versenden mit java.mail Allgemeine Java-Themen 14
L Java Mail Allgemeine Java-Themen 0
H Java Mail Fehlermeldung: java.lang.NoClassDefFoundError: javax/mail/internet/AddressException Allgemeine Java-Themen 5
B Java Mail Client als Outlook ausgeben Allgemeine Java-Themen 2
F E-Mail aus JAVA senden nach Umstellung auf Netbean 7.4 mit Java 7U45 nicht mehr möglich Allgemeine Java-Themen 4
T popup für e-mail Allgemeine Java-Themen 2
Z Java E-Mail Client mit End-to-End-Verschlüsselung Allgemeine Java-Themen 4
P javax.mail MessageCount Allgemeine Java-Themen 13
I Eigenes Mail-Programm schreiben Allgemeine Java-Themen 21
C E-Mail: Authenticator.getPasswordAuthentication() wird nicht gerufen Allgemeine Java-Themen 2
GUI-Programmer Java Mail - Proxy für Verbindung einstellen Allgemeine Java-Themen 2
P Mail wird nicht gesendet - Muss ich kein PW angeben ? Allgemeine Java-Themen 13
U Mailclient über getDesktop.mail vorbereiten, Problem beim Anhang: Allgemeine Java-Themen 3
S Java Mail Allgemeine Java-Themen 3
G Problem Java Mail API: CC wird nicht berücksichtigt Allgemeine Java-Themen 7
R php hat mail() und java? Allgemeine Java-Themen 5
B Per BatchScript Mail versenden Allgemeine Java-Themen 27
S mail per smtp lokal in postfix einliefern Allgemeine Java-Themen 6
Mike90 Graph in einer Mail verschicken Allgemeine Java-Themen 7
N Java Mail Allgemeine Java-Themen 5
F Spam-Mail-Programm gesucht Allgemeine Java-Themen 11
N Java Mail Allgemeine Java-Themen 7
M [Java Mail] Multipart beim Senden funktioniert nicht. Allgemeine Java-Themen 11
S Shell-Befehl: mail Allgemeine Java-Themen 6
W mail senden mit java Allgemeine Java-Themen 4
C Desktop.mail Problem. IO Exception: Failed to open. Allgemeine Java-Themen 3
P Mail Notifier Allgemeine Java-Themen 9
J String auf E-Mail überprüfen Allgemeine Java-Themen 4
S E-Mail an nicht-RFC822-formatierte Adresse Allgemeine Java-Themen 4
M Desktop mail attachments Allgemeine Java-Themen 3
S E-Mail-Links: geklickten Link ermitteln Allgemeine Java-Themen 4
F Umlaute: E-Mail per JavaMail und Textfile Allgemeine Java-Themen 5
C Mail Api http Protokoll? Allgemeine Java-Themen 5
C E-Mail Versand Allgemeine Java-Themen 3
0x7F800000 e-mail mit einer virtuellen datei schicken? Allgemeine Java-Themen 3
J Mail schicken über mailx Allgemeine Java-Themen 3
G E-Mail versenden Allgemeine Java-Themen 6
L Infos zu java.mail Allgemeine Java-Themen 5
H Java Mail hängt sich unregelmässig auf Allgemeine Java-Themen 8
G Mail Konten (E-Mails holen) Allgemeine Java-Themen 5
P welche java version für javax.mail? Allgemeine Java-Themen 7
S JavaMail --> HTML-Mail verschicken? Allgemeine Java-Themen 7
S Ungelesene Mails mit Java Mail abholen Allgemeine Java-Themen 3
S Java Mail IOException Allgemeine Java-Themen 13
B Mail mit Java Allgemeine Java-Themen 2
S Java mail weiterleitung funktioniert nicht Allgemeine Java-Themen 2
L E-Mail Auswertung mit Servlet (Excel) Allgemeine Java-Themen 3
G Probleme beim Mail-Api mit BCC Allgemeine Java-Themen 2
S Mail mit zip-Attachment Allgemeine Java-Themen 2
G mail body parsen (->attachment & filename) Allgemeine Java-Themen 2
C [javax.mail] Betreff vergleichen Allgemeine Java-Themen 5
C [javax.mail] Folder not open Allgemeine Java-Themen 2
G Probleme mit java.mail Allgemeine Java-Themen 2
M javax.mail – Sending failed – Invalid Addresses Allgemeine Java-Themen 8
R Java Mail Abrufen von Mails Allgemeine Java-Themen 2
P Inhalt einer Mail anzeigen Allgemeine Java-Themen 5
S E-Mail ueber Exchange Server schicken! Allgemeine Java-Themen 3
P Streams per Mail mit JavaMailAPI versenden Allgemeine Java-Themen 3
S java mail API, email versenden Allgemeine Java-Themen 8
S mail von server mittels mailapi löschen Allgemeine Java-Themen 2
D MAC Adressen Abfrage Allgemeine Java-Themen 5
J Echte Adressen aus Internet Allgemeine Java-Themen 28
G Wie groß sind die Adressen in Java? Allgemeine Java-Themen 4
G Adressen in Datei speichern und wieder auslesen Allgemeine Java-Themen 3
Tommy135 Syntax Highlighting Allgemeine Java-Themen 3
Elyt Compiler-Fehler Datei kann nicht erstellt werden. Die Syntax für den Dateinamen etc. ist falsch. Allgemeine Java-Themen 2
W JavaCC to create my only syntax Allgemeine Java-Themen 5
B Syntax-Erkennungs Problem Allgemeine Java-Themen 2
H Syntax ProcessBuilder Allgemeine Java-Themen 7
B Syntax-Highlighting abspeichern Allgemeine Java-Themen 7
T Parseerror bei richtiger Syntax Allgemeine Java-Themen 5
M Syntax Highlighter für MS Word? Allgemeine Java-Themen 2
H Pattern.compile Syntax Allgemeine Java-Themen 15
C Syntax printf Allgemeine Java-Themen 5
S Eine Collection von Objekten mit LDAP Syntax filtern Allgemeine Java-Themen 5
P JTextPane mit Java (eclipse) Syntax Highlighting Allgemeine Java-Themen 4
D Kompakte Syntax für Funktionen Allgemeine Java-Themen 7

Ähnliche Java Themen

Neue Themen


Oben