Syntax E-Mail/Verfügbarkeit Domain überprüfen

Manchmal soll bei einer eingegebenen E-Mail-Adresse die Syntax  und Verfügbarkeit der Domain überprüft werden. Dazu eignet sich nach entsprechender Anpassung das folgende Script:

function validate_mail($mail)
{
  if (preg_match("/^[\w\.-]{1,}\@([\w-]{1,}\.){1,}[\w-]{2,4}$/", $mail)==0)
    return false;
  list($prefix, $domain) = explode("@", $mail);
  if(function_exists("getmxrr") && getmxrr($domain . '.', $mxhosts))
    return true;
  elseif(function_exists("checkdnsrr") && checkdnsrr($domain . '.', 'MX'))
    return true;
  elseif(function_exists("checkdnsrr") && checkdnsrr($domain . '.', 'A'))
    return true;
  else
    return false;
}

if (validate_mail($mail)==false)
  echo "Die angegebene E-Mail-Adresse ist ungültig!";
else
  echo "Die angegebene E-Mail-Adresse ist gültig!";

Die Auswertung durch den unteren Codeblock muss für den Verwendungszweck angepasst werden.

Im Script muss für die aktuelle PHP-Version “split” durch “explode” ersetzt werden.