Emailadress mit PHP validieren
Marius
- php
-1 Hopsel0 Christian Seiler0 Marius
0 dedlfix
Guten Tag,
ich möchte gerne die äußerliche Gültigkeit einer Emailadresse überprüfen. Die FAQ der Newsgroup de.comp.lang.php schlägt vor die Überprüfung mit der Pear Klasse 'Mail_RFC822' zu machen:
http://www.php-faq.de/q/q-mail-adresse-gueltig.html
http://pear.php.net/manual/de/package.mail.mail-rfc822.parseaddresslist.php
Aber ich komme mit Hilfe des Manuals nicht dahinter, wie das zu bewerkstelligen ist. Die Funktion parseAddressList(), zerlegt einen String ja nur in die Adressenbestandteile und gibt ihn als mehrdimensionales Array zurück.
Meine Frage ist jetzt, wie ich mit Pear erreiche, dass die Adresse geprüft wird und am Ende entsprechen 'true' oder 'false' zurückgeliefert wird.
Ich hoffe, dass mir da mal jemand auf die Sprünge helfen kann.
MfG Marius
Hi,
if(ereg("[1]+(.[_a-zA-Z0-9-]+)*@[a-zA-Z0-9-]+.([a-zA-Z0-9-]{2,4})",$email) == true) {
//fortfahren
}
else {
//Fehler
}
MfG Hopsel
_a-zA-Z0-9- ↩︎
Hallo,
Dein Ausdruck führt aber dazu, dass eine Adresse wie "Hallo Chef"@firma.test als ungültig bezeichnet wird, obwohl sie es nicht ist.
Viele Grüße,
Christian
Hallo Hopsel,
if(ereg("[1]+(.[_a-zA-Z0-9-]+)*@[a-zA-Z0-9-]+.([a-zA-Z0-9-]{2,4})",$email) == true) {
Guck mal in der deutschen Wikipedia, welche Zeichen in der Addy noch alles zugelassen sind.
Außerdem: Es fehlt das $-Zeichen am Ende des Ausdrucks und es gibt
TLDs mit 6 Buchstaben.
Und Umlautdomains. Und niemand hindert mich daran, trotz dieser Prüfung
eine Adresse wie foo@example.com einzugeben.
Gruß
Alexander Brock
_a-zA-Z0-9- ↩︎
Hallo Marius,
Meine Frage ist jetzt, wie ich mit Pear erreiche, dass die Adresse geprüft wird und am Ende entsprechen 'true' oder 'false' zurückgeliefert wird.
Wenn es auch ohne PEAR gehen darf: < http://aktuell.de.selfhtml.org/tippstricks/programmiertechnik/email/index.html>
Viele Grüße,
Christian
Hi Christian,
Danke für die schnelle Antwort.
Wenn es auch ohne PEAR gehen darf: http://aktuell.de.selfhtml.org/tippstricks/programmiertechnik/email/index.html
Ich nehme jetzt die von dir gepostete Funktion. Es war nämlich mehr so ein allgemeines Interesse, da ich im Moment die Pear Packages ausprobiere und da überhaupt nicht weiter wusste.
MfG Marius
echo $begrueszung;
ich möchte gerne die äußerliche Gültigkeit einer Emailadresse überprüfen. Die FAQ der Newsgroup de.comp.lang.php schlägt vor die Überprüfung mit der Pear Klasse 'Mail_RFC822' zu machen:
Meine Frage ist jetzt, wie ich mit Pear erreiche, dass die Adresse geprüft wird und am Ende entsprechen 'true' oder 'false' zurückgeliefert wird.
Mail_RFC822::parseAddressList($mailAddress) liefert im Erfolgsfall ein Objekt mit den Einzelteilen als Eigenschaften zurück, ansonsten ein PEAR_Error-Objekt.
if (PEAR::isError($result = Mail_RFC822::parseAddressList($mailAddress)))
echo htmlspecialchars($result->getMessage());
else
...
(Bei PEAR empfiehlt es sich immer auch einen Blick in die Quellen zu werfen, da das Manual mitunter nur als Groborientierung dient.)
echo "$verabschiedung $name";