E-Mailadresse prüfen | .info

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • E-Mailadresse prüfen | .info

    Hallo,

    Ich habe mir diesen Codeschnippsel aufgeschnappt, um in einer Formulareingabe zu prüfen, ob die Mailadresse gültig ist:
    PHP-Code:
    <?php
    /* gefunden bei [url]http://www.masterportal24.com/faq2/index.cgi?board=phpall&action=display&num=284[/url] */
     
    function checkmail($email)  
    {  
    if (
    eregi("^[0-9a-z]([-_.]?[0-9a-z])*@[0-9a-z]([-.]?[0-9a-z])*\\.[a-z]{2,3}$"$email$check))  
    {  
    if(
    getmxrr(substr(strstr($check[0], '@'), 1), $validate_email_temp))  
    {  
    return 
    true;  
    }  
    if(
    checkdnsrr(substr(strstr($check[0], '@'), 1),"ANY")) 
    {  
    return 
    true;  
    }  
    }  
    return 
    false;  
    }  
    $check=checkmail("test@test.de");  
    if (!
    $check)  
    echo 
    "Falsch";  
    else  
    echo 
    "Richtig";  
    ?>
    Habe Ihn auch erfolgreich einbinden können.
    Mein Problem ist nur, dass der code mir sagt, sobald ich eine .info mailadresse eingebe, dass sie ungülti sei.
    Ich kann das nur nicht ganz verstehen.

    Wo liegt da bei mir der Fehler?

    Gruß

    Tobias

  • #2
    So schnell kanns gehen,

    hab nun nach dem verzweifelten Post die Lösung gefunden.
    Zeile
    PHP-Code:
    if (eregi("^[0-9a-z]([-_.]?[0-9a-z])*@[0-9a-z]([-.]?[0-9a-z])*\.[a-z]{2,3}$"$email$check)) 
    duch
    PHP-Code:

    if if (eregi("^[0-9a-z]([-_.]?[0-9a-z])*@[0-9a-z]([-.]?[0-9a-z])*\\.[a-z]{2,4}$"$email$check)) 
    ersetzt.

    gruß

    Tobias

    Kommentar


    • #3
      Re: E-Mailadresse prüfen | .info

      Was matcht [a-z]{2,3} denn wohl?

      Btw: es gibt auch .museum

      Btw2: für wie unsinnig ich sowas halte, habe ich ja schon oft genug erwähnt. Mit den Primitiv-Ausdrücken, die man im www so findet, deckt man idR. nie alle Sonderfälle ab.

      Z.B. ist
      Code:
      "ich bin ein noob"@newbee-resource.de
      durchaus eine gültige Emailadresse.
      I don't believe in rebirth. Actually, I never did in my whole lives.

      Kommentar


      • #4
        kann ich nur zustimmen. Auch durch meine Erfahrung an der Arbeit.
        Es gibt im Netz Regex die über mehrere "Seiten" gehen.
        Dort sind dann auch die TLD-Spezifischen Konventionen mit eingeschlossen.
        Ob nun die mindeslänge einer Domain, ob man .. schreiben darf,
        ab ein punkt vor einem @ sein darf, dass man sonderzeichen nicth ohne
        alphanumersiches Zeichen dazwischen schreiben kann uvvvvvvm.
        Der sinnigste Ansatz ist es meistens, zu überlegen, welche Art von Missbrach
        oder fehlerhafter Behandlung möglich sind. Dann kann man diese durch
        bestimmte Regeln abfangen, dazu nimmt man dann noch ein paar primitive
        Regeln die die Basics abdenken, aber alles andere ist definitv Problemgebunden.

        Kommentar


        • #5
          Hallo,

          Moment das verstehe ich nicht ganz.
          Ich hatte doch nur das Problem mit der Länge der .tdl das nur 2 oder 3 Zeichen zugelassen wurden.

          Das Script sperrt doch die
          "ich bin ein noob"@newbee-resource.de
          Adresse nicht aus. Wenn es sie geben würde!
          Wo ich recht gebe ist bei .museum das würde net gehen. Aber dafür kann ich ja die länge der Zeichen für die tdl ändern.
          Mein Script prüft die Domain, ob sie überhaupt existiert.

          Gruß

          Tobias

          Kommentar


          • #6
            Original geschrieben von tsaenger
            Das Script sperrt doch die
            "ich bin ein noob"@newbee-resource.de
            Adresse nicht aus.
            Ach nein?
            PHP-Code:
            if (eregi("^[0-9a-z]([-_.]?[0-9a-z])*@[0-9a-z]([-.]?[0-9a-z])*\.[a-z]{2,3}$"'"ich bin ein noob"@newbee-resource.de') !== false) {
               echo 
            "gültig";
            }
            else {
               echo 
            "ungültig";

            I don't believe in rebirth. Actually, I never did in my whole lives.

            Kommentar


            • #7
              Dann sag mir mal bitte wo man eine Mailadresse mit Leerzeichen und sonderzeichen erstellen kann. Ich habe noch nichts davon gehört.
              Ich bin aber immer offen für neues.

              Gruß

              Tobias

              Kommentar


              • #8
                Original geschrieben von tsaenger
                Dann sag mir mal bitte wo man eine Mailadresse mit Leerzeichen und sonderzeichen erstellen kann.
                Überall, wo einem die Freiheiten gewährt werden, die der RFC für Emailadressen gewährt.
                Ich habe noch nichts davon gehört.
                Das war schon bei der TLD .museum der Fall, auch die hast du erst berücksichtigt, als du darauf hingewiesen wurdest.

                Bevor du also noch mehr Gefahr läufst, korrekte Adressen zurückzuweisen, weil es dir an Detailenntnissen fehlt - lass es doch lieber ganz bleiben.
                I don't believe in rebirth. Actually, I never did in my whole lives.

                Kommentar


                • #9
                  Vielen Dank für eure Hinweise.
                  Da bei mir ja sowieso die domain auf existenz geprüft wird habt ihr ja recht, das ich die Syntaxprüfung rauslassen kann.
                  Habe da ne nette Seite gefunden die mir aufzeigt, was alles erlaubt ist und auch nicht:
                  http://www.remote.org/jochen/mail/info/chars.html

                  gruß

                  Tobias

                  Kommentar

                  Lädt...
                  X