Re: Contrôleur mail - pré-inscription membre | Titre du sujet : Re: Contrôleur mail - pré-inscription membre par Solisonia sur 12/10/2007 11:29:47
Citation : overmysoul a écrit: j ai ce bout de code qui permet de verifier si le domaine existe vraiement par contre savoir si la boite elle sur le domaine existe pour l instant j ai pas ca en stock
class verification_email {
var $system_OS = "linux";//système d'exploitation (win/linux)
var $debug = 0;// textes de mise au point
var $check_result; // résultats
function teste_email($email) {
$email = strtolower($email);
// --- vérification de la syntaxe
$ok = $this->check_email($email);
if (!$ok) return FALSE;
// --- decomposition de l'adresse
list($userName, $hostName) = split("@", $email);
// --- on teste l'enregistrement MX
if (!$this->checkDNS($hostName)) {
$this->check_result .= "Pas d'enregistrement MX";
return FALSE;
}
else {
$this->check_result .= "Enregistrement MX OK";
return TRUE;
}
}
// --- vérification de la syntaxe de l'adresse email
function check_email($email) {
if (preg_match('/^[-!#$%&'*+\./0-9=?A-Z^_`{|}~]+@([-0-9A-Z]+.)+([0-9A-Z]){2,4}$/i', $email)) {
$this->check_result .= "Syntaxe OK";
return TRUE;
}
else {
$this->check_result .= "Erreur de syntaxe";
return FALSE;
}
}
// vérifie si l'enregistrement MX existe pour le domaine
function checkDNS($hostName) {
// --- linux
if ($this->system_OS == "linux") {
if (checkdnsrr($hostName,"MX")) return TRUE;
else return FALSE;
}
// --- windows
else {
if(!empty($hostName)) {
exec("nslookup -type=MX ".$hostName, $result);
// vérifie chaque ligne pour voir si l'une d'entre elles
// commence par le nom de domaine
// si c'est le cas, la vérification est positive
// sinon, c'est qu'il n'y a pas d'enregistrement
// MX pour le domaine
foreach ($result as $line) {
if(eregi("^".$hostName,$line)) return true;
}
return false;
}
return false;
}
}
}
Et ce code on doit l'intégrer ou ?
|
|