XHTMLforum

XHTMLforum (http://xhtmlforum.de/index.php)
-   Serveradministration und serverseitige Scripte (http://xhtmlforum.de/forumdisplay.php?f=80)
-   -   Email validierung - Sonderzeichen (http://xhtmlforum.de/showthread.php?t=50272)

ArcVieh 08.02.2008 10:45

Email validierung - Sonderzeichen
 
Guten Morgen,
seit dem es Umlautdomains gibt, sehe ich mich vor ein Problem gestellt: Wie überprüfe ich auf Sonderzeichen like äöüß in einer Email?
Der Witz ist, ich brauche diese Validierung für eine sehr breite Reihe von Email Adressen und da in verschiedenen TLD Zweigen auch verschiedene Sonderzeichen erlaubt sind, fühle ich mich nicht mehr mächtig das alles in einem REGEX unter zu bekommen und weiß auch gar nicht, wie weit PHP5 damit klar kommen würde...

Nun, könnt Ihr mir da gute Tipps geben, bzw. eventuell eine gutes Klasse zur Validierung von Email Adressen empfehlen?


Vielen Dank,
Flo

Timo 08.02.2008 10:55

Also ich mach so: Die Domain auchnoch Anpingen und ich hab auch noch ne Badlist von Domains wegen den "Weckwerf Emailadressen"

ArcVieh 08.02.2008 11:05

Zitat:

Zitat von Timo (Beitrag 370939)
Also ich mach so: Die Domain auchnoch Anpingen und ich hab auch noch ne Badlist von Domains wegen den "Weckwerf Emailadressen"

Auch noch? ;)
Pflegst Du diese Badlist selber oder hast Du dazu eine Liste?

Timo 08.02.2008 19:00

Ich mach die selber, ich such halt immer bei Google nach weckwerf Emails und mach die Domains in ne globale Liste auf die ich mit allen meinen Pages draufzugreifen kann!

Renner 08.02.2008 20:03

PHP-Code:

$list($user$host) = split("[@]"$email);
$domains split("[.]"$host); 

in $domains haste dann schön auseinandergenommen TLD, Domain, Subdomain.
dann kannst schön die einzelnen teile, je nach spezifikation auswerten.

Keine Ahnung ob das perfomant ist, aber so mach ich das.

inta 08.02.2008 20:16

Zitat:

Zitat von Renner (Beitrag 371006)
Keine Ahnung ob das perfomant ist, aber so mach ich das.

explode() statt split() zu nutzen wirkt schonmal Wunder bei der Geschwindigkeit ;)

darkiop 08.02.2008 20:58

Würdest du dein Skript bzgl. der Valdidierung hier veröffentlichen?

Gumbo 08.02.2008 21:06

Zitat:

Zitat von Timo (Beitrag 371003)
Ich mach die selber, ich such halt immer bei Google nach weckwerf Emails und mach die Domains in ne globale Liste auf die ich mit allen meinen Pages draufzugreifen kann!

Ist dieser ganze Aufwand überhaupt nötig?

Gizmor 08.02.2008 21:19

Also emails per regex 100%ig laut zugehörigen rfc's ist nahezu unmöglich.
Im netz finden sich regex die ausgedruckt bestimmt ne DinA4 seite füllen und trotzdem vermutlich nicht 100%ig funktionieren.

Was ich daher bei mir benutze is das unter Linux verfügbare tool "vrfy". Dieses fragt bei dem zugehörigen mailserver nach ob die adresse dort bekannt ist. Außerdem wird direkt mit gecheckt ob der hostname erreichbar ist. In den meisten fällen funktioniert das recht zuverlässig.

ArcVieh 08.02.2008 21:19

Zerlegen usw. ist ja gar nicht das Problem, da würde mir folgende Methode reichen:
PHP-Code:

<?php
   substr
(strstr("irgendwas@example.com""@"), 1);
?>

Und im Moment verwende ich halt folgenden relativ simplen RegEx:
PHP-Code:

/^(([a-z0-9])+([\.\-_])?)+@(([a-z0-9])+([\.\-_])?)+\.([a-z]{2,})$/iU 

Nur bei einer Sonderzeichen-Domain habe ich dann die Arschkarte gezogen.

EDIT:
Zitat:

Zitat von Gumbo (Beitrag 371009)
Ist dieser ganze Aufwand überhaupt nötig?

Das frage ich mich auch... Vorallem, habe ich keine Lust die Liste zu pflegen. Denn theoretisch kann sich jeder so ein Wegwerf-Dingen aufsetzten. Das soll dann auch egal sein.
Zitat:

Zitat von Gizmor (Beitrag 371010)
Also emails per regex 100%ig laut zugehörigen rfc's ist nahezu unmöglich.
Im netz finden sich regex die ausgedruckt bestimmt ne DinA4 seite füllen und trotzdem vermutlich nicht 100%ig funktionieren.

Was ich daher bei mir benutze is das unter Linux verfügbare tool "vrfy". Dieses fragt bei dem zugehörigen mailserver nach ob die adresse dort bekannt ist. Außerdem wird direkt mit gecheckt ob der hostname erreichbar ist. In den meisten fällen funktioniert das recht zuverlässig.

Das vrfy klingt interessant.. Kann ich das per PHP ansprechen? Bzw. wie sähe das aus?


Alle Zeitangaben in WEZ +2. Es ist jetzt 08:30 Uhr.

Powered by vBulletin® Version 3.8.11 (Deutsch)
Copyright ©2000 - 2024, vBulletin Solutions, Inc.

© Dirk H. 2003 - 2023