Soyez le premier à donner votre avis sur cette source.
Snippet vu 28 570 fois - Téléchargée 32 fois
<?php function emailCheck($email, &$err) { if ($email == "") { $err = "L'email est vide"; return false; } if (!preg_match("/^[-a-z0-9\._]+@[-a-z0-9\.]+\.[a-z]{2,4}$/i", $email)) { $err = "Le format de l'email n'est pas valide"; return false; } list($nom, $dom) = explode("@", $email); // On récupère le nom de domaine dans la variable $dom if (gethostbyname($dom) == $dom) { // si vous n'êtes pas sous Windows, vous pouvez utiliser directement la condition (!checkdnsrr($dom)) $err = "Ce nom de domaine n'existe pas"; return false; } return true; } ?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd"> <html> <head> <title>Test de validité d'e-mail</title> </head> <body bgcolor="white"> <form action="email.php" method="post"> <input type="text" name="semail" value="<?php echo $semail ?>"> <input type="submit" value="Valider cet email"> <?php if (isset($semail)) { ?> <hr> Résultat :<br> <?php if (emailCheck($semail, $err)) echo "Cette adresse email est valide"; else echo "Erreur : " . $err; } ?> </form> </body> </html>
9 août 2006 à 21:09
9 août 2006 à 21:02
La seul fois ou jai du utiliser les caractères { et } c'était pour l'envoie d'un formulaire par mail avec un code entre {} avant le mail du destinataire pour que le client de messagerie comprenne qu'il devait analyser l'email et y extraire les infos préformaté... (si c'est pas clair faut le dire ^^).
Donc pour un site basic on peut eventuellement ce passer de ces caractère (surtout que pour les grosse firms comme microsoft hotmail, yahoo!, etc... ce genre de caractère ne sont pas accepté si je ne me trompe pas (j'ai un doute du coup ^^).
26 mars 2006 à 20:03
particulièrement ceux ki ont un fournisseur d 'accès free
et k ils ont des msg d erreur qui comporte des remarques du style
"Warning: mail(): Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in ..."
il faut rajouter dans mail.php dansla page qui envoie l email
au tout début de la page :
"ini_set ("SMTP","smtp.free.fr");"
(si vous avez un autre opérateur ke free,remplacer par votre opérateur )
et la sa devrai fonctionner
12 sept. 2005 à 21:05
26 janv. 2005 à 18:12
function CheckEMail($imail) {
return ($imail!="") && (preg_match("/^[-a-z0-9\._]+@[-a-z0-9\.]+\.[a-z]{2,4}$/i", $imail));
}
Ensuite, on traite le message d'erreur comme on veut. En ce qui concerne l'histoire de DNS, merci de rajouter une condition supplémentaire avec &&.
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.