Validé adresse mail php ???

[Résolu/Fermé]
Signaler
Messages postés
374
Date d'inscription
dimanche 20 janvier 2008
Statut
Membre
Dernière intervention
18 juin 2011
-
Messages postés
350
Date d'inscription
vendredi 18 janvier 2008
Statut
Membre
Dernière intervention
11 juin 2009
-
Bonjour,

je suis entrain de tester la validité d'une adresse mail mais j'ai cet erreur qui saffiche

Fatal error: Call to undefined function getmxrr() in C:\wamp\www\popoulos\test.php on line 9

voila le script que j'ai trouver sur une site:

<?php

$from = $editFormAction = $_SERVER['PHP_SELF'];

if((isset($_POST["cc"])) && ($_POST["cc"] == "form1")){
function checkEmail($email)
{
list($Username, $Domain) = split("@",$email);
if(getmxrr($Domain, $MXHost)) <-------LIGNE 9
{return TRUE;}
else
{if(fsockopen($Domain, 25, $errno, $errstr, 30))
{return TRUE;}
else{return FALSE;}}
}
$mail = $_POST['mail'];

echo checkEmail($mail);

}
?>

<form name="form1" method="post" action="<?php echo $from ?>">
<input type="text" name="mail" id="mail">
<input type="submit" name="button" id="button" value="Envoyer">
<input name="cc" id="cc" type="hidden" value="form1">
</form>

ou si quelqu'un un bon script je suis ouvert

7 réponses

Messages postés
350
Date d'inscription
vendredi 18 janvier 2008
Statut
Membre
Dernière intervention
11 juin 2009
252
Voila une fonction qui vérifie l'existence de l'email :
https://www.tienhuis.nl/files/email_verify_source.php
7
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 42674 internautes nous ont dit merci ce mois-ci

Messages postés
374
Date d'inscription
dimanche 20 janvier 2008
Statut
Membre
Dernière intervention
18 juin 2011
5
non en faite je veux voir si elle existe la fonction précédente je l'ai déjà faite
Messages postés
55
Date d'inscription
jeudi 7 février 2008
Statut
Membre
Dernière intervention
22 septembre 2008
39
bonjour,

Pour valider un mail dans PHP tu dois utiliser une expression régulière :

<?php
$regex = "/^[-+.\w]{1,64}@[-.\w]{1,64}\.[-.\w]{2,6}$/i";
$courriel = "nom@domaine.com";
if (preg_match($regex, $courriel)) {
    echo "L'adresse $courriel est valide";
} else {
    echo "L'adresse $courriel n'est pas valide";
}
?>
Messages postés
55
Date d'inscription
jeudi 7 février 2008
Statut
Membre
Dernière intervention
22 septembre 2008
39
Envoi un mail avec un lien de confirmation...
Messages postés
1467
Date d'inscription
samedi 13 mars 2004
Statut
Membre
Dernière intervention
5 mai 2010
43
Envoi un mail avec un lien de confirmation...

C'est effectivement le seule moyen.

Pour ton erreur, retourne sur le site ou tu as trouvé le script, et vérifie s'il n'y a pas une librairie ou a un module à activer, voire un include à ajouter.
Messages postés
350
Date d'inscription
vendredi 18 janvier 2008
Statut
Membre
Dernière intervention
11 juin 2009
252
D'après la doc PHP:
'Note: Cette fonction n'est pas disponible sur les machines Windows. Pour la remplacer, essayez la classe » PEAR : » Net_DNS.'
Note: Cette fonction ne doit pas être utilisée à des fin de vérification d'adresses. Seuls les serveurs de mails trouvés dans les enregistrements DNS sont retournés.

C'est à dire que ca ne vérifie que le nom de domaine. Par exemple pour l'adresse 'testance@hotmail.com', ca te renverra que 'hotmail.com' existe, pas l'adresse complète. D'ailleurs elle ne prend même pas le username comme argument.

https://www.php.net/getmxrr
Messages postés
374
Date d'inscription
dimanche 20 janvier 2008
Statut
Membre
Dernière intervention
18 juin 2011
5
comme la dit OrionS je vais faire un mail de confirmation mais je vais quand meme prendre cette solution pour voir si le nom de domaine existe pour eviter d'avoir de faux nom de domaine ca va restreindre les mec qui mettrent n'improte quoi.
a moisn qu'il n'y ait une autre solution ?????

j'ai lu quesi l'organisme qui repertorie les nom de domaine n'etait pas a jour alors de nom de domaine serait automatiquement rejeter avec le fonction getmxrr. c ca ???