Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] E-Mail Adresse überprüfen

Einklappen

Neue Werbung 2019

Einklappen
Dieses Thema ist geschlossen.
X
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [Erledigt] E-Mail Adresse überprüfen

    Bei diesen Thema existieren im Netz unzählige Lösungsvorschläge. Viele sind fehlerhaft oder nicht mehr aktuell, Stichwort Umlautdomains. Nun kann man streiten ob Umlautdomains Sinn machen, aussperren sollte man sie jedoch nicht. Auch PHP:Filter liefert z.B. für "info@müller.de" einen Fehler und akzeptiert auch einen fehlenden Punkt nach dem @, also so was wie "X@Y" geht als fehlerfrei durch. Nicht so nach meinen Geschmack.
    Auf der Suche nach einer Lösung hab ich hier einen Beitrag gefunden, der meinen Vorstellungen schon recht Nahe kommt.
    Ich möchte folgendes prüfen (Nutzername@domain.tld):

    1. Nutzername: Darf keine Leezeichen, Steuerzeichen und nicht @<>;,: () enthalten
    2. dem Nutzername folgt ein @
    3. domain: min2, max 63 Zeichen, darf keine Leezeichen, Steuerzeichen und nicht @<>;,: () enthalten
    4. der domain folgt ein Punkt
    5. die tld besteht nur aus Buchstaben, min. 2, max.10

    Die Prüfung soll gravierende Eingabefehler abfangen und offen sein für zukünftige Neuerungen.

    Folgender Code soll dies realisieren:
    PHP-Code:
    $mail "kontakt@möller.de";
    $mailok preg_match('/^[^@\s<>;,:()]+@[^@\s<>;,:]{2,63}\.[a-z]{2,10}$/i',$mail) > 0
    Meine Frage nun:
    Liege ich mit meinen 5 Punkten richtig oder sperre ich mangels besseres Wissens Nutzer aus?

    LG jspit

  • #2
    5. die tld besteht nur aus Buchstaben, min. 2, max.10
    tlds schon, ja.
    Hab aber noch nie eine tld mit mehr als 5 zeichen gesehen.

    // edit: zum vergleich: http://www.iana.org/domains/root/db/#
    // du schließt aber alle aus, die keine e-mail mit lateinischen zeichen haben, oder?

    Und was ist mit foo@bar.de.vu

    Kommentar


    • #3
      Hast du ein Beispiel ?

      Kommentar


      • #4
        Kann sie jedenfalls nicht posten.

        Wenn ich es tue, verschwindet der ganze Text und im Forum sieht es so aus, als hätte ich nur ein

        .

        geschrieben

        // Edit:
        Serbien
        Indien

        Kommentar


        • #5
          theorethisch könntest du Nutzer aussperren. im Nutzernamen sind unter speziellen Umständen auch (),:;<>@[\] erlaubt.

          weiterhin fehlen noch einige Restriktionen, nicht erlaubt sind mehrere Punkte hintereinander (john..doe@example.org) sowie Buchstaben außerhalb des ASCII-Bereiches (ISO/Unicode-Buchstaben), und damit auch dt. Umlaute (RFC 5322 Kap. 3.2.3). numerische Domains (127.0.0.1) dürfen in [] gesetzt werden.

          der Nutzername darf 64 Zeichen lang sein, der Domainname 253 zeichen (max 63 zwischen den Punkten), die gesamte Adresse jedoch nicht mehr als 254 Zeichen.


          RFCs: 3696, 5321, 5322, 1123

          Kommentar


          • #6
            In den Mail-Adressen wird dort aber .in und .rs benutzt.
            tld mit mehr als 5 Zeichen hab ich auch noch nicht gesehen, mußte mich aber belehren lassen.
            z.B. .localhost .museum (wiki)
            Im domainnamen ist alles mögliche zugelassen.
            foo@bar.de.vu wird als richtig erkannt (da Punkt in domain zugelassen wird).

            Edit
            Dormilich: Danke für die Hinweise. Die Prüfung soll auch nicht alle nicht erlaubten Sachen abfangen, war nicht mein Ziel. Da ich einige Nutzer nur "theoretisch" aussperre, damit glaub ich kann ich leben.
            Ein Nutzername mit 70 Zeichen wird nebenbei bemerkt auch von Filter akzeptiert.

            Kommentar


            • #7
              Da ich erfasste Emailadressen auch anmailen muss (Double Opt In) und dies mit dem PHPmailer mache, nutze ich zur Verifikation auch die PHP Filter-Funktion, so wie es PHPmailer beim Senden auch macht. Es nutzt mir nichts, wenn ich müller@example.org erfasse, den aber nicht anmailen kann weil PHPmailer den nicht durchlässt.

              Als zweites prüfe ich den DNS-Eintrag der eingegebenen Domain. Dabei filtere ich die beliebten Tippfehler t.online, gmx.gmx usw. aus.

              Kommentar


              • #8
                Das Problem steht bei mir z.Zt. noch nicht, da ich die Informationen an eine fixe Mailadresse schicke. Aber gut zu wissen.

                Kommentar


                • #9
                  filter_var($email, FILTER_VALIDATE_EMAIL)

                  Kommentar


                  • #10
                    Das Thema wurde bereits hinreichend behandelt. Bitte benutze die Forensuche und beachte diesen Thread!

                    [MOD: Thread geschlossen]

                    Kommentar


                    • #11
                      Das Thema wurde bereits hinreichend behandelt. Bitte benutze die Forensuche und beachte diesen Thread!

                      [MOD: Thread geschlossen]

                      Kommentar

                      Lädt...
                      X