Salut à tous,
Dans le cadre d'un projet j'ai du pousser un peut plus une fonction pour vérifier la validité des adresses mail.
Cette fonction vérifie l'existence des enregistrements MX des noms de domaine de l adresse mail en plus de sa syntaxe.
Je n'ai pas écris l'expression régulière, je l'ai choppé je ne sais plus où; mais elle semble bien marcher.
Si ça peut vous servir à qq un tans mieux; sinon ça vous ferra une belle jambe :)
[code]
function validateemail($email){
$exp = "^[a-z\'0-9]+([.-][a-z\'0-9]+)*@([a-z0-9]+([._-][a-z0-9]+))+$";
if(mb_eregi($exp,$email)){
if(checkdnsrr(array_pop(explode("@",$email)),"MX")){
return 'true';
}else{
return 'Les enregistrements MX du nom de domaine ne semble pas exister. L\'adresse email est refusée.';
}
}else{
return 'La syntaxe de cette adresse email n\'est pas valide.';
}
}
[/code]
et je l'utilise comme suit:
[code]
$email_ok = validate_email($tab_post['email']);
if( $email_ok == 'true' ){
echo 'email ok';
}else{
echo 'email fail';
}
[/code]