E-Mail Check etwas anspruchsvoller!

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

  • E-Mail Check etwas anspruchsvoller!

    Ich mache mir gerade darüber gedanken, wie ich E-mail Adressen auf ihre völlige Korrektheit prüfen kann.
    Bis jetzt geht mein Ansatz so:


    1.) Check mit Reguläten Ausdrücken
    2.) Dns Check auf Die Domain
    3.) Versuchen einen Socket auf dem Smtp Server zu öffnen

    Eigentlich wäre das ja dann ziemlich perfekt wenn denn 3.) immer funktionieren würde, bei meiner eigenen Domain funzt es zB. aber web.de oder gmx Adressen tanzen da natürlich mal wieder aus der Reihe und geben gar keine Rückantwort. Wodurch die Seite dann eine ewigkeit lädt aber einfach keine Rückmeldung gibt. Hat jemand eine Idee, wie ich web.de Adressen & Co auf ihre Existenz prüfen könnte?
    (Achso ich möchte das mit einem Skript hinbekommen nicht mit einer Aktivierungsmail).
    Mein bisheriger Ánsatz:



    PHP-Code:
    function checkEmail($email)
        {
            global 
    $info
            
             if(
    preg_match("/^([a-zA-Z0-9-])+([a-zA-Z0-9\._-])*@([a-zA-Z0-9_-])+([a-zA-Z0-9\._-]+)+$/" $email))
            {
                  list(
    $username$domain) = split('@'$email);
                
                  if(! 
    checkdnsrr($domain,'MX') ) 
                {
                      return 
    0;
                  }
                
                if( 
    $info->vars['smtp_check_mail'])
                {
                    
    // attempts a socket connection to mail server
                     
    if(! fsockopen($domain25$errno$errstr30) )
                    {
                           return 
    0;
                    }
                }
                
                 return 
    1;
             }
            
             return 
    0;
        } 
    daniel-portal.com/games Free Games and more

  • #2
    Vielleicht wertest Du einfach mal das Ergebnis von checkdnsrr($domain,'MX') aus .. und verwendest anstatt von $domain den zurückgegebenen Hostnamen ... !

    Ich bekomme (via dig) die Hostnamen

    mx-ha01.web.de
    mx-ha02.web.de

    Zurück ... und Telnet (25) auf diese Hosts funktioniert auch ... also sollte auch ein fsockopen funktionieren ... !
    carpe noctem

    [color=blue]Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht![/color]
    [color=red]Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung![/color]

    Kommentar


    • #3
      Ich versteh nicht so ganz wie du das jetzt meinst. Wo soll denn da ein Hostname wie mx-ha01.web.de zurrückgegeben werden?
      daniel-portal.com/games Free Games and more

      Kommentar


      • #4
        Salut

        wie von goth geschrieben solltest du checkdnsrr($domain,'MX') verwenden. Das Prob ist nämlich, dass der SMTP-Server meist anderst heisst als nur die Domain z.B. nicht smtp.gmx.ch sondern mx-aa01.gmx.ch
        Wenn du also abfragen willst ob eine Mail existiert, dann musst du den zuständigen SMTP-Server der Domain abfragen, welchen du mittels checkdnsrr zurückbekommst.

        Gruss

        tobi
        Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

        [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
        Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

        Kommentar


        • #5
          Daniel hat schon Recht ... http://de.php.net/manual/en/function.getmxrr.php ... da geht's lang ... die Funktion prüft ... und gibt zurück ...
          carpe noctem

          [color=blue]Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht![/color]
          [color=red]Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung![/color]

          Kommentar

          Lädt...
          X