Vérifier la validité de la syntaxe d'un email avec php
avec un shell script
placer auparavant dans un fichier email.txt vos emails, eg:
toto@truch.ch t'ata@truch-ch N'GaoundéréC'èJoli @blu
! /usr/bin/php <?php function EmailOK($email) { return( ereg('^[-!#$%&\'*+\\./0-9=?A-Z^_`a-z{|}~]+'. '@'. '[-!#$%&\'*+\\/0-9=?A-Z^_`a-z{|}~]+\.'. '[-!#$%&\'*+\\./0-9=?A-Z^_`a-z{|}~]+$', $email) ); } $file2open="email.txt"; $handle = @fopen("$file2open", "r"); //tests if ($handle) { //si le fichier est ouvert $laligne=0; while (!feof($handle)) { //begin main loop $buffer = fgets($handle, 4096); $buffer=trim($buffer); $letest=EmailOK($buffer); if($letest=='') { echo "$buffer n'est pas valide"."\n"; } } //end main loop fclose($handle); } ?>
vous renverra des erreurs sur tous les emails, sauf toto@truch.ch (qui n'existe peut-être pas, mais qui est valide)
sur un serveur web via un formulaire
check-email.php
<? function EmailOK($email) { return( ereg('^[-!#$%&\'*+\\./0-9=?A-Z^_`a-z{|}~]+'. '@'. '[-!#$%&\'*+\\/0-9=?A-Z^_`a-z{|}~]+\.'. '[-!#$%&\'*+\\./0-9=?A-Z^_`a-z{|}~]+$', $email) ); } if(isset($email)) { $letest=EmailOK($email); if($letest=='') { echo "PROBLÈME: le mail "; echo "<h1>$email</h1> n'est pas valide<br><a href=javascript:history.go(-1)>Retour</a>"."<BR>\n"; exit; } else { echo "OK: le mail "; echo "<h1>$email</h1> est valide<br><a href=javascript:history.go(-1)>Retour</a>"."<BR>\n"; exit; } } ?> <form> <input type='hidden' name='today' value='$today'><br> Veuillez introduire votre email: <input type='text' name=email> <input type='submit' value='Soumettre'> </form>