Alex: "Existenzkontrolle" eines Emailaccounts

Hallo!

Ist es möglich, mit PHP (z. B. Socket-Funktionen) zu überprüfen, ob ein richtiger Account hinter einer Emailadresse steht, damit man Server-Response Mails vermeiden kann.

Danke!

Alex

  1. Prinzipiell ja. Praktisch brauchst Du dann aber auch den Benutzername und das Passwort des Adresseninhabers für dessen Mailserver, damit Du den Eingang einer Testnachricht nachvollziehen kannst. Und die worst Du wohl nicht bekommen. Obwohl... das laß ich lieber.

    fastix®

  2. Hallo

    Ist es möglich, mit PHP (z. B. Socket-Funktionen) zu überprüfen, ob ein richtiger Account hinter einer Emailadresse steht, damit man Server-Response Mails vermeiden kann.

    du kannst mit PHP den Syntax einer Emailadresse überprüfen.
    Wenn dir das noch nicht reicht, dann kannst du noch überprüfen, ob wenigstens der Server ansprechbar ist. (ich gehe über DNS)

    ich mache das in meinen Scripts häufig auf folgende Art und Weise:

    <syntaxfärbung>
     if(ereg ("[1][a-zA-Z0-9.-]*[a-zA-Z0-9]@(.*)$", $emailadresse, $regs)) {
      if(!checkdnsrr($regs[1])) {
       // Fehler ...
      }
     } else {
      // Fehler ...
     }
    </syntaxfärbung>

    Dir ist aber hoffentlich klar, dass du den "Faker" dann nur dazu zwingst, eine gültige Emailadresse einzugeben, die nicht von ihm ist. (unterstellung)
    Abschreckung isses halt allemal ;)

    P.S. kann man den regulären Ausdruck überhaupt noch verstehen? ;)

    Gruß,
    Benne


    1. a-zA-Z ↩︎

    1. Hallo Benne,

      ich darf zu Deinem RegEx anmerken, daß es tatsächlich auch E-Mailadressen gibt, die einen Punkt direkt vor dem @ stehen haben.

      Gruß

      Eidgenosse

      1. Moin!

        ich darf zu Deinem RegEx anmerken, daß es tatsächlich auch E-Mailadressen gibt, die einen Punkt direkt vor dem @ stehen haben.

        Und ich darf anmerken, dass der User-Anteil einer EMail-Adresse auch mit Zahlen beginnen darf.

        Die Prüfung auf den Domain-Anteil hingegen könnte im Regex durchaus strenger ausfallen (mindestens ein Punkt muß enthalten sein, sofern man lokale Adressen ausschließen will) - die DNS-Abfrage hingegen ist ganz sicher fehleranfällig, weil die DNS-Information direkt zum Prüfungszeitpunkt verfügbar sein muß. Erstens dauert die Ermittlung eine gewisse Zeit, zweitens können Server oder Leitungen auch mal ausfallen, und drittens: Wie man dem User-Eintrag vom 1. März 2002 auf php.net (derzeit der erste Eintrag) für checkdnsrr() entnehmen kann (siehe http://www.php.net/manual/en/function.checkdnsrr.php), ist es durchaus möglich, dass der eigene Nameserver einem falsche Ergebnisse präsentiert.

        Es gilt immer noch: Die Gültigkeit einer Emailadresse prüft man ausschließlich korrekt dadurch, dass man eine Mail hinschickt und sich den Empfang bestätigen läßt.

        - Sven Rautenberg

        --
        Diese Signatur gilt nur am Freitag.
        1. Hallo, Sven,

          die DNS-Abfrage hingegen ist ganz sicher fehleranfällig, weil die DNS-Information direkt zum Prüfungszeitpunkt verfügbar sein muß. Erstens dauert die Ermittlung eine gewisse Zeit

          Es ließe sich prüfen, ob es für Echtzeitüberprüfungen reicht.
          Ich halte es aber auch nicht für zuverlässig, und für die Überprüfung, ob der Benutzer beim MX-Host tatsächlich existiert, ist es mit Sicherheit irrelevant.

          zweitens können Server oder Leitungen auch mal ausfallen

          Das Netz generell sowie das DNS im speziellen ist mehrfache redundant aufgebaut, es wird/werden auch nicht der/die zuständige/n Nameserver direkt gefragt, sondern ein cachender Server, welcher selbst auch meist mehrfach redundant ausgelegt ist.

          und drittens: Wie man dem User-Eintrag vom 1. März 2002 auf php.net (derzeit der erste Eintrag) für checkdnsrr() entnehmen kann (siehe http://www.php.net/manual/en/function.checkdnsrr.php), ist es durchaus möglich, dass der eigene Nameserver einem falsche Ergebnisse präsentiert.

          Das lässt sich einfach umgehen, schließlich geht man im öffentlichen Internet immer von der Root-Instanz aus...

          Ansonsten ACK.

          Grüße,
          Mathias

          --
          Geschwisterzwist zwischen Slivovic schlürfenden, spitzen, twistenden und schwitzenden Zwitscherschwestern.
          Zwanzig Zwerge zeigen Handstand, zehn im Wandschrank, zehn am Sandstrand.
          Kalle Kahlekatzenglatzenkratzer kratzt kahle Katzenglatzen.
          Bietet Brunhilde berauschende Brüste, buhlt Bodo brünstig beim Balle.
          1. Moin!

            zweitens können Server oder Leitungen auch mal ausfallen

            Das Netz generell sowie das DNS im speziellen ist mehrfache redundant aufgebaut, es wird/werden auch nicht der/die zuständige/n Nameserver direkt gefragt, sondern ein cachender Server, welcher selbst auch meist mehrfach redundant ausgelegt ist.

            Wovon träumst du denn?

            Ja, das Internet als solches ist redundant ausgelegt: Wenn eine Leitung ausfällt, wird durch dynamisches Routing eine andere Leitung genommen. Das hilft aber nichts, wenn zum Ziel nur eine einzige Leitung existiert (das dürfte bei den meisten kleinen Firmen der Fall sein, die sich nur eine DSL-Leitung leisten und zuhause ihren Mailserver stehen haben).

            Außerdem hilft das ganze Nameserver-Caching nichts, wenn die notwendige Information vorher noch niemals angefragt wurde, der authoritative Nameserver aber gerade nicht erreichbar ist - und sekundäre Server auch nicht.

            Drittens setzen sich Änderungen im DNS im allgemeinen nur sehr langsam durch - es kann durchaus schon mal ein oder zwei Tage dauern. Während dieser Zeit werden durch die Caching-Nameserver inkorrekte Informationen verbreitet.

            Natürlich _kann_ man Internet-Dienste redundant auslegen. Oder auch für einen zweiten MX-Eintrag sorgen. Oder diverse sekundäre Nameserver in anderen Netzen aufstellen. Aber gemäß Murphy ist all dies natürlich nicht geschehen, wenn der wichtigste Kunde wegen einer angeblich falschen Mailadresse zurückgewiesen wird.

            Ansonsten ACK.

            Wie immer bei solchen Diskussionen geht es mir darum, mögliche Probleme aufzuzeigen, die mit einer bestimmten Vorgehensweise verbunden sind. :)

            - Sven Rautenberg

            --
            Diese Signatur gilt nur am Freitag.