Check Email

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

  • Zocker
    antwortet
    Hallo,

    ich habe nun folgende Funktion gefunden:

    PHP-Code:
    function validateEmail($Email) {
          global 
    $HTTP_HOST;

          if (!
    eregi("^[_a-z0-9-]+(.[_a-z0-9-]+)*@[a-z0-9-]+(.[a-z0-9-]+)*(.[a-z]{2,3})$"$Email)) {
            return 
    1;
          }
          list ( 
    $Username$Domain ) = split ("@",$Email);

          if (
    checkdnsrr $Domain"MX" ))  {
            if (
    getmxrr ($Domain$MXrec))  {
            
    $Mailserver $MXrec[0];
            } else {
              return 
    2// return system error NOT invalid address
            
    }
          } else {
            
    $Mailserver $Domain;
          }

          if (
    $Connection fsockopen($Mailserver25)) {

            if (
    ereg("^220"$Rubbish fgets($Connection1024))) {

              
    fputs $Connection"HELO $HTTP_HOST\r\n" );
              
    $Rubbish fgets $Connection1024 );

              
    fputs $Connection"MAIL FROM: <{$Email}>\r\n" );
              
    $Fromstring fgets $Connection1024 );

              
    fputs $Connection"RCPT TO: <{$Email}>\r\n" );
              
    $Tostring fgets $Connection1024 );

              
    fputs $Connection"QUIT\r\n");
               
    fclose($Connection);

              if (
    ereg("^250"$Fromstring) && ereg("^250"$Tostring)) {
                return 
    0//  return successful validation
              
    } else {
                return 
    1// return invalid address
              
    }
            } else {
              return 
    1// return invalid address error
            
    }
          } else {
            return 
    1
          }
        } 
    Soweit funktioniert es auch. Wenn ich aber mehrere Emails in ein Array schreibe, geht es nicht mehr.

    $liste = array();
    if($obj = mysql_query("SELECT id, email FROM emails ORDER BY id ASC LIMIT 1"))
    {
    while($row = mysql_fetch_assoc($obj))
    {
    array_push($liste,$row);
    }
    }
    $email = $liste[0]['email'];
    $valid = validateEmail($email);

    verwende, erhalte ich bei $valid = 1. Schreibe ich es aber

    $email = "ah@august-starke.de";
    $valid = validateEmail($email);

    erhalte ich als Ergebnis 0. Wieso eigentlich?


    Gruss
    Zocker

    Einen Kommentar schreiben:


  • wahsaga
    antwortet
    Re: Check Email

    gültig -> regexp -> suchen!

    erreichbar -> mail hin senden, ggf. antwort des servers auswerten (antwortmail über unzustellbarkeit o.ä. an return-path).

    Einen Kommentar schreiben:


  • Quetschi
    antwortet
    IMHO nein. Du kannst die Eingabe auf gültige Syntax prüfen.

    Du müsstest allenfalls eine Mail mit nem Kontrollink rausschicken und hoffen, dass der User diesen Link dann auch anklickt, so würdest du eine Bestätigung bekommen, ohne Interaktion des Users der die Mail-Adresse eingetragen hat, geht' aber IMHO nicht.

    Gruss
    Quetschi

    Einen Kommentar schreiben:


  • Zocker
    hat ein Thema erstellt Check Email.

    Check Email

    Hallo,

    man kann ja Domains überprüfen, ob diese auch erreichbar sind. Gibt es das auch für Emails? Wenn ein Kunde z.B. seine Email einträgt, möchte ich überprüfen, ob diese auch gültig bzw. erreichbar ist. Geht das?


    Gruss
    Zocker
Lädt...
X