![]() |
E-Mailadresse auf Gültigkeit überprüfen
Ich suche keinen Standard-Code, um zu testen, ob ein @ im String der E-Mailadresse ist.
Die Seite ![]() Bei Mustermann@gmx.de würde er z.B. annehmen, MaxMustermann6789@gmx.de nicht (nehme ich mal an, da die nicht existiert :mrgreen:). Ich verstehe nicht, wie die das umsetzen und ich kann sowas sehr gut gebrauchen. Bei Google findet man halt immer nur diese Standard-Codes in PHP. Nach was muss ich denn suchen? |
Re: E-Mailadresse auf Gültigkeit überprüfen
da wirst du dich vermutlich einfach mal mit den eMail-Protokollen auseinandersetzen müssen
und dann eine Anfrage an das gewünschte Postfach bzw. den Server abschicken und fragen, ob dieses Fach auch existiere :angel: |
Re: E-Mailadresse auf Gültigkeit überprüfen
Mithilfe von regulären Ausdrücken:
Code:
Nach RFC 28222 ist eine Email-Adresse:
^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$
Code:
(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])
|
Re: E-Mailadresse auf Gültigkeit überprüfen
Zitat:
@himitsu: Dafür habe ich momentan keine Zeit das alles selbst zu machen, da ich mich mit E-Mail-Protokollen auch noch nie beschäftigt habe. Ich bin auch bereit ein vernünftiges, funktionierendes Script käuflich zu erwerben. |
Re: E-Mailadresse auf Gültigkeit überprüfen
Hi!
Afair gibt es im SMTP-Protokoll ein Verify-Command - allerdings wird das Vorhaben vermutlich scheitern, da dieses nicht von allen Servern unterstützt wird. Ciao, Frederic |
Re: E-Mailadresse auf Gültigkeit überprüfen
Danke fkerber.
![]() Dort habe ich eine schöne Übersicht gefunden über die einzelnen Befehle. Aber 2 abschließende Fragen habe ich noch: 1. Die Befehle kann ich bei Telnet eingeben. Wie soll ich das in PHP machen? :stupid: 2. Wenn ein Mailserver diese Überprüfung nicht zulässt, unterscheidet sich die Antwort "Erlaube ich nicht" von der Antwort "Mail gibt es nicht" oder gibt er in beiden Fällen nur ein False zurück? |
Re: E-Mailadresse auf Gültigkeit überprüfen
unbekannte Kommandos werden in aller Regel anders beantwortet als vorhandene.
Die angeggebene Methode funktioniert übrigens nur bedingt. Ist beispielsweise Catchall im Einsatz wirst du immer zurück bekommen das die Adresse gültig ist. Und ganz ehrlich - selbst ohne catchall würde ich bei meinem Mailserver derartige Anfragen blockieren da dort Spamverdacht herscht. |
Re: E-Mailadresse auf Gültigkeit überprüfen
@synollus: Guck dir mal die PHP-Befehle fsockopen, fwrite, fread und fclose an. Damit kannst du auch Socket-Kommunikation zu einem entfernten Server realisieren.
Andere Alternative: irgendeine Mail-Klasse (z.B. die SWIFT-Library) runterladen um zu vermeiden, dass du die SMTP-Kommunikation selbst implementieren musst. Aber kurzum: du kannst nicht 100%ig feststellen, ob eine E-Mail-Adresse existiert. Dafuer gibt es mehrere Gruende:
Kurzum: du kannst nicht 100%ig wissen, ob eine Adresse existiert. Deshalb wird bei einer Registrierung auch eine Mail mit Aktivierungslink verschickt, bei vielen Webseiten wird der Account auch geloescht, wenn er nicht innerhalb einer bestimmten Zeit aktiviert wird. @TurboMartin: Mich wuerde interessieren, wo du die Regexp herhast - es gibt naemlich jede Menge RegEchsen, die behaupten sie wuerden E-Mail-Adressen validieren, allerdings ist mir bisher noch keine einzige (und ich hab viele davon schon gesehn) untergekommen, die die RFC-Spezifikation wirklich zu 100% implementiert ohne gleichzeitig auch wieder ungueltige Adressen zuzulassen. In deinem Fall bin ich zu Faul das Ding durchzugehn, allerdings laesst das Fehlen von Look-Ahead oder Look-Behind-Teilen darauf schliessen, dass auch sowas akzeptiert wird: abc"@foo.com, was eigentlich keine Gueltige Adresse ist. Genauso wird folgende Adresse:
Code:
wohl nicht akzeptiert, obwohl es eigentlich eine gueltige Adresse darstellt. Das bewahrheitet mal wieder die These, dass es eigentlich keine Regular Expression gibt, die eine Mail-Adresse haargenau nach der RFC-Spezifikation implementiert, ohne false positives oder false negatives zu produzieren ;)
FooBar <foobar@foo.com>
Greetz alcaeus |
Re: E-Mailadresse auf Gültigkeit überprüfen
Hi!
Ich habe die RegEx mal kurz durch ein paar Tester gehauen. Er erkennt abc"@foo.com als fehlerhaft und "filtert" aus FooBar <foobar@foo.com> zumindest die gültige Adresse raus, was ja an sich ausreicht... Ciao, Frederic |
Re: E-Mailadresse auf Gültigkeit überprüfen
Diese RegEx filtert also scheinbar eine richtige Mail aus einem String, validiert diesen selber aber nicht.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:09 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz