mail-Funktion

Soapp

Erfahrenes Mitglied
Ich verwende folgende Zeilen um Usern das Passwort zuzuschicken (tutorials.de ist nat. nur ein Beispiel).... Leider bekomm ich keine Fehlermeldung wenn die Emailadresse falsch ist.
Kann man da was machen ?

Danke

Soapp

$header = "From: tutorials.de <info@tutorials.de>\n";
$header .= "Reply-To: info@tutorials.de\n";
$header .= "Content-Type: text/plain";
mail($email, "Zugangsdaten","
Zugangsdaten
--------------------------------------------------------

Text
--------------------------------------------------------
",$header);
 
Die Funktion ist recht simple, vor allem kannst du auch einen MX Record machen, ob die Email dem Server überhaupt bekannt ist. Bei neuen TLDs musst du einfach das Array erweitern.


PHP:
function isValidEmail($address, $checkMX = false) 
{ 
    // gueltige TLDs
    $valid_tlds = array("arpa", "biz", "com", "edu", "gov", "int", "mil", "net", "org", 
      "ad", "ae", "af", "ag", "ai", "al", "am", "an", "ao", "aq", "ar", "as", "at", "au", 
      "aw", "az", "ba", "bb", "bd", "be", "bf", "bg", "bh", "bi", "bj", "bm", "bn", "bo", 
      "br", "bs", "bt", "bv", "bw", "by", "bz", "ca", "cc", "cf", "cd", "cg", "ch", "ci", 
      "ck", "cl", "cm", "cn", "co", "cr", "cs", "cu", "cv", "cx", "cy", "cz", "de", "dj", 
      "dk", "dm", "do", "dz", "ec", "ee", "eg", "eh", "er", "es", "et", "fi", "fj", "fk", 
      "fm", "fo", "fr", "fx", "ga", "gb", "gd", "ge", "gf", "gh", "gi", "gl", "gm", "gn", 
      "gp", "gq", "gr", "gs", "gt", "gu", "gw", "gy", "hk", "hm", "hn", "hr", "ht", "hu", 
      "id", "ie", "il", "in", "io", "iq", "ir", "is", "it", "jm", "jo", "jp", "ke", "kg", 
      "kh", "ki", "km", "kn", "kp", "kr", "kw", "ky", "kz", "la", "lb", "lc", "li", "lk", 
      "lr", "ls", "lt", "lu", "lv", "ly", "ma", "mc", "md", "mg", "mh", "mk", "ml", "mm", 
      "mn", "mo", "mp", "mq", "mr", "ms", "mt", "mu", "mv", "mw", "mx", "my", "mz", "na", 
      "nc", "ne", "nf", "ng", "ni", "nl", "no", "np", "nr", "nt", "nu", "nz", "om", "pa", 
      "pe", "pf", "pg", "ph", "pk", "pl", "pm", "pn", "pr", "pt", "pw", "py", "qa", "re", 
      "ro", "ru", "rw", "sa", "sb", "sc", "sd", "se", "sg", "sh", "si", "sj", "sk", "sl", 
      "sm", "sn", "so", "sr", "st", "su", "sv", "sy", "sz", "tc", "td", "tf", "tg", "th", 
      "tj", "tk", "tm", "tn", "to", "tp", "tr", "tt", "tv", "tw", "tz", "ua", "ug", "uk", 
      "um", "us", "uy", "uz", "va", "vc", "ve", "vg", "vi", "vn", "vu", "wf", "ws", "ye", 
      "yt", "yu", "za", "zm", "zr", "zw"); 

    // Email Addressen Check mit POSIX REGEXP
    if (!eregi("^[a-z0-9_\.]+@[a-z0-9\-]{2,}\.[a-z0-9\-\.]{2,}$", $address)) {
      return false;
    } else {
      $address = strtolower($address);
    }
    // Aufteilen der Adresse in Name und Domain Teil
    $name_domain = explode("@", $address);
    // Is da nur ein @ ? 
    if (count($name_domain) != 2){return false;}
    // Domain Teile checken 
    $domain_parts = explode(".", $name_domain[1]); 
    if (count($domain_parts) < 2){return false;}
    // Ist Top Level Domain nicht vorhanden ? Abbruch 
    if (!in_array($domain_parts[count($domain_parts) - 1], $valid_tlds)){return false;}
    // getmxrr --  Ermittelt die (DNS) MX-Datensätze passend zu einem angegebenen Internet-Host-Namen
    if ($checkMX && !getmxrr($name_domain[0], $mxhosts)) { return false; } 
    return true; 
}
 
tefla hat gesagt.:
Die Funktion ist recht simple, vor allem kannst du auch einen MX Record machen, ob die Email dem Server überhaupt bekannt ist. Bei neuen TLDs musst du einfach das Array erweitern.


PHP:
function isValidEmail($address, $checkMX = false) 
{ 
    // gueltige TLDs
    $valid_tlds = array("arpa", "biz", "com", "edu", "gov", "int", "mil", "net", "org", 
      "ad", "ae", "af", "ag", "ai", "al", "am", "an", "ao", "aq", "ar", "as", "at", "au", 
      "aw", "az", "ba", "bb", "bd", "be", "bf", "bg", "bh", "bi", "bj", "bm", "bn", "bo", 
      "br", "bs", "bt", "bv", "bw", "by", "bz", "ca", "cc", "cf", "cd", "cg", "ch", "ci", 
      "ck", "cl", "cm", "cn", "co", "cr", "cs", "cu", "cv", "cx", "cy", "cz", "de", "dj", 
      "dk", "dm", "do", "dz", "ec", "ee", "eg", "eh", "er", "es", "et", "fi", "fj", "fk", 
      "fm", "fo", "fr", "fx", "ga", "gb", "gd", "ge", "gf", "gh", "gi", "gl", "gm", "gn", 
      "gp", "gq", "gr", "gs", "gt", "gu", "gw", "gy", "hk", "hm", "hn", "hr", "ht", "hu", 
      "id", "ie", "il", "in", "io", "iq", "ir", "is", "it", "jm", "jo", "jp", "ke", "kg", 
      "kh", "ki", "km", "kn", "kp", "kr", "kw", "ky", "kz", "la", "lb", "lc", "li", "lk", 
      "lr", "ls", "lt", "lu", "lv", "ly", "ma", "mc", "md", "mg", "mh", "mk", "ml", "mm", 
      "mn", "mo", "mp", "mq", "mr", "ms", "mt", "mu", "mv", "mw", "mx", "my", "mz", "na", 
      "nc", "ne", "nf", "ng", "ni", "nl", "no", "np", "nr", "nt", "nu", "nz", "om", "pa", 
      "pe", "pf", "pg", "ph", "pk", "pl", "pm", "pn", "pr", "pt", "pw", "py", "qa", "re", 
      "ro", "ru", "rw", "sa", "sb", "sc", "sd", "se", "sg", "sh", "si", "sj", "sk", "sl", 
      "sm", "sn", "so", "sr", "st", "su", "sv", "sy", "sz", "tc", "td", "tf", "tg", "th", 
      "tj", "tk", "tm", "tn", "to", "tp", "tr", "tt", "tv", "tw", "tz", "ua", "ug", "uk", 
      "um", "us", "uy", "uz", "va", "vc", "ve", "vg", "vi", "vn", "vu", "wf", "ws", "ye", 
      "yt", "yu", "za", "zm", "zr", "zw"); 

    // Email Addressen Check mit POSIX REGEXP
    if (!eregi("^[a-z0-9_\.]+@[a-z0-9\-]{2,}\.[a-z0-9\-\.]{2,}$", $address)) {
      return false;
    } else {
      $address = strtolower($address);
    }
    // Aufteilen der Adresse in Name und Domain Teil
    $name_domain = explode("@", $address);
    // Is da nur ein @ ? 
    if (count($name_domain) != 2){return false;}
    // Domain Teile checken 
    $domain_parts = explode(".", $name_domain[1]); 
    if (count($domain_parts) < 2){return false;}
    // Ist Top Level Domain nicht vorhanden ? Abbruch 
    if (!in_array($domain_parts[count($domain_parts) - 1], $valid_tlds)){return false;}
    // getmxrr --  Ermittelt die (DNS) MX-Datensätze passend zu einem angegebenen Internet-Host-Namen
    if ($checkMX && !getmxrr($name_domain[0], $mxhosts)) { return false; } 
    return true; 
}



vielen dank !

wenn ich aber statt info@turorials.de mich verschreibe und inf@tutoriuals.de schreibe
bemerkt er das nicht, oder ?
 
Zurück