Bonjour,
j'utilise la fonction suivante pour vérifier la validité d'une adresse email
<?php
function verifie_email($id,$email)
{
$email = strtolower($email);
if (strlen($email) < 6)
{
echo "$id-$email : Email trop court<br>";$ok=0;
}
if (strlen($email) > 255)
{
echo "$id-$email : Email trop long<br>";$ok=0;
}
if (!ereg("@", $email))
{
echo "$id-$email : Le email n'a pas d'arobase(@)<br>";$ok=0;
}
if (preg_match_all("/([^a-zA-Z0-9_\@\.\-])/i", $email, $trouve))
{
echo "$id-$email : caractère(s) interdit dans un email(".implode(", ", $trouve[0]).").<br>";$ok=0;
}
if (!preg_match("/^([a-z0-9_]|\\-|\\.)+@(([a-z0-9_]|\\-)+\\.)+[a-z]{2,4}\$/i", $email))
{
echo "$id-$email : ce n'est pas un la forme d'un email.<br>";$ok=0;
}
list($compte, $domaine)=split("@", $email, 2);
if (!checkdnsrr($domaine, "MX"))
{
echo "$id-$email : Ce domaine ($domaine) n'accepte pas les emails<br>";$ok=0;
}
echo "$id-$email : Valide !<br>";$ok=1;
}
include("conf.php");
@mysql_connect($host, $user, $pass) or die("Impossible de se connecter à la base de données");
@mysql_select_db($bdd) or die("Impossible de se connecter à la base de données");
$sql = "SELECT id,email FROM table where valide=0";
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
$i=0;
while($data = mysql_fetch_assoc($req))
{
// on affiche les informations de l'enregistrement en cours
$email=$data['email'];
$id=$data['id'];
verifie_email($id,$email);
}
echo "Terminé";
mysql_close();
?>puis ce code là pour envoyer un email de confirmation d'inscription
mail($email,"le sujet","blabla","FROM : toto@mondomaine.com");
la fonction pour verifier la validité syntaxique et serveur des emails fonctionnent très bien.
mais car il y a toujours un mais il y a toujours des crétins pour ne pas dire autrement qui m'inventent des adresses du style
duconlajoie@aol.com. J'ai aussi lajoieducon c'est surement son cousin.
Comment coder dans le mail() du php pour recevoir les notifications des mailers du style "adresse inexistance", J'ai essayé en utilisant ce bout de code
mail("$to", "$subject", "$message", "From: $from\nX-Mailer: PHP/ . $phpversion()", "-f $from");
mais a priori c'est desactivé en safe mode
Merci d'avance pour votre aide.
David