1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
| <?php
$_POST['email_bcc'] = 'a@laposte.net,b@laposte.net,c@laposte, d@laposte.net ,e@laposte.net,,f@laposte.net, g@laposte.net ,h.laposte.net,i@laposte.net ,
j@laposte.net,k@laposte.net,l@laposte.net,m@laposte.net,n@laposte.net,o@laposte.net,p@laposte.net,q@laposte.net,r@laposte.net,s@laposte.net,t@laposte.net,u@laposte.net, v@laposte.net,w@laposte.net,x@laposte.net,y@laposte.net,z@laposte.net';
if (isset($_POST['email_bcc']))
{
$tab_mail = explode(",",$_POST['email_bcc']); // création d'un tableau à partir d'une chaine de caractères en prenant le caractère "," comme délimiteur
$tab_mail_non_valide = array(); //déclaration d'un tableau vide pour enregistrer les résultas
$tab_mail_valide = array(); //déclaration d'un tableau vide pour enregistrer les résultas
foreach ($tab_mail as $value) // on liste le tableau construit précédemment
{
$mail = trim($value); // supprime les caractères invisibles non utiles
if($mail != '') // si la valeur résultante est différente d'une chaine vide
{
if(filter_var($mail, FILTER_VALIDATE_EMAIL)) // retourne "vrai" (true) si syntaxe mail valide, sinon "faux" (false)
{
$tab_mail_valide[] = $mail; // enregistre les mails valides dans le tableau $tab_mail_valide
}
else
{
$tab_mail_non_valide[] = $mail; // enregistre les mails non valides dans le tableau $tab_mail_non_valide
}
}
}
file_put_contents('temporaire.txt',serialize($tab_mail_valide)); // enregistre le tableau sérialisé dans le fichier texte 'temporaire.txt' (car on ne peut pas enregistrer un tableau dans un fichier texte sans le sérialiser)
if (count($tab_mail_non_valide) > 0)
{
// liste les mails non valides en les séparant par une virgule et un espace
echo 'mail invalide : '.implode(", ",$tab_mail_non_valide);
}
}
?> |
Partager