Je gère un site Web avec plus de 60 000 utilisateurs enregistrés. Chaque semaine, des notifications sont envoyées à ces utilisateurs par e-mail, maintenant j'ai remarqué que certaines adresses mail n'existent plus, par exemple. l'adresse du domaine est valide mais le nom de l'email en asdas @ n'est plus valide car la personne ne travaille plus dans une entreprise, etc. Maintenant, je parcours la base de données et je vérifie si les enregistrements MX existent avec la après deux fonctionsVérification des adresses e-mail valides
function verify_email($email){
if(!preg_match('/^[_A-z0-9-]+((\.|\+)[_A-z0-9-]+)*@[A-z0-9-]+(\.[A-z0-9-]+)*(\.[A-z]{2,4})$/',$email)){
return false;
} else {
return true;
}
}
// Our function to verify the MX records
function verify_email_dns($email){
list($name, $domain) = split('@',$email);
if(!checkdnsrr($domain,'MX')){
return false;
} else {
return true;
}
}
Si l'adresse e-mail est dans un format non valide ou le domaine n'existe pas que je compte supprimer les utilisateurs. Y at-il des méthodes que je pourrais utiliser pour vérifier si l'adresse e-mail existe toujours ou pas si le nom de domaine est valide et l'adresse e-mail est dans le bon format? Par exemple, [email protected] n'existe plus, mais test.com est un nom de domaine valide.
REMARQUE: Si un message est envoyé aux utilisateurs et que l'adresse e-mail n'existe plus, je reçois un e-mail dans ma boîte de réception, ce qui entraîne 1000 par jour que j'essaie d'éviter.
Notez que la regex que vous utilisez ici rejette un grand nombre d'adresses e-mail valides déjà ... et j'ignorerais la vérification de domaine, ça n'en vaut pas la peine et ça se fera quand même en envoyant un mail. – Joey
Je pense que la meilleure chose que vous pourriez faire est de vérifier automatiquement votre boîte de réception pour les messages rebondis et supprimer ces entrées de la base de données. – Jens