Comment vérifier si un email existe avec php
Fermé
rico
-
11 sept. 2008 à 18:42
blux Messages postés 25976 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 18 avril 2024 - 13 avril 2012 à 10:44
blux Messages postés 25976 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 18 avril 2024 - 13 avril 2012 à 10:44
A voir également:
- Vérifier si une adresse mail existe
- Darkino nouvelle adresse - Guide
- Rechercher ou entrer l'adresse - Guide
- Créer une adresse mail outlook - Guide
- Comment récupérer une adresse mail - Guide
- Verifier un lien - Guide
3 réponses
puxor
Messages postés
318
Date d'inscription
mardi 2 septembre 2008
Statut
Membre
Dernière intervention
4 mai 2009
89
11 sept. 2008 à 20:03
11 sept. 2008 à 20:03
http://www.commentcamarche.net/forum/affich 4950125 valide adresse mail php
Vive la fonction rechercher.
Vive la fonction rechercher.
puxor
Messages postés
318
Date d'inscription
mardi 2 septembre 2008
Statut
Membre
Dernière intervention
4 mai 2009
89
11 sept. 2008 à 19:34
11 sept. 2008 à 19:34
Bonsoir!!
je doute que ça soit possible. A ton avis, est-ce que les programmeurs sont des malades au point de faire des regexp pour tester si la syntaxe d'un mail est valide, alors qu'on pourrait tester directement l'existence de l'email ?
je doute que ça soit possible. A ton avis, est-ce que les programmeurs sont des malades au point de faire des regexp pour tester si la syntaxe d'un mail est valide, alors qu'on pourrait tester directement l'existence de l'email ?
if ($mail!="")
{
function VerifierAdresseMail($mail)
{
$Syntaxe='#^[\w.-]+@[\w.-]+\.[a-zA-Z]{2,5}$#';
if(preg_match($Syntaxe,$mail))
return true;
else
die("<b>Erreur</b>, l'adresse mail est mal structurée (1).<br><br><A HREF=Javascript:history.go(-1)>Retour</A>");
}
$mail=htmlentities($_POST['mail']);
if(VerifierAdresseMail($mail))
echo ;
else
die("<b>Erreur</b>, l'adresse mail est mal structurée (2).<br><br><A HREF=Javascript:history.go(-1)>Retour</A>");
}
{
function VerifierAdresseMail($mail)
{
$Syntaxe='#^[\w.-]+@[\w.-]+\.[a-zA-Z]{2,5}$#';
if(preg_match($Syntaxe,$mail))
return true;
else
die("<b>Erreur</b>, l'adresse mail est mal structurée (1).<br><br><A HREF=Javascript:history.go(-1)>Retour</A>");
}
$mail=htmlentities($_POST['mail']);
if(VerifierAdresseMail($mail))
echo ;
else
die("<b>Erreur</b>, l'adresse mail est mal structurée (2).<br><br><A HREF=Javascript:history.go(-1)>Retour</A>");
}
blux
Messages postés
25976
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
18 avril 2024
3 287
12 avril 2012 à 17:20
12 avril 2012 à 17:20
tu utilises quoi ?
parce qu'à part envoyer un mail et vérifier la réponse du serveur, je ne vois pas...
parce qu'à part envoyer un mail et vérifier la réponse du serveur, je ne vois pas...
blux
Messages postés
25976
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
18 avril 2024
3 287
13 avril 2012 à 10:44
13 avril 2012 à 10:44
Ton script ne fait que vérifier que l'adresse est cohérente avec une regex, en aucun cas, il ne vérifie que l'adresse existe !
Bonsoir,
J'ai vu que ca pouvait être possible en interrogeant des serveurs de noms, "classe Net_DSN"
est ce que quelqu'un connait ? ou aurait une autre idée ?
Merci
J'ai vu que ca pouvait être possible en interrogeant des serveurs de noms, "classe Net_DSN"
est ce que quelqu'un connait ? ou aurait une autre idée ?
Merci
mpmp93
Messages postés
6652
Date d'inscription
mercredi 13 avril 2011
Statut
Membre
Dernière intervention
28 septembre 2015
1 339
13 avril 2012 à 10:41
13 avril 2012 à 10:41
Bonjour,
la question: vérifier si un mail existe bien sur un serveur donné, par exemple xxxxx@gmail.com ?
Il y a bien une solution mais selle est loin d'être simple.
1) utiliser un serveur SMTP. Pour cela il faut avoir un compte mail accessible via le protocole SMTP
2) utiliser un framework qui implémente ce protocole SMTP, Zend framework par exemple, voir ici:
http://framework.zend.com/manual/fr/zend.mail.sending.html
3) envoyer un mail via SMTP à xxxxx@gmail.com
4) aller voir ensuite en POP si on a un retour sur l'envoi de mail indiquant "mail non distribué"
cette méthode est la plus fiable. mais de nombreux hébergeurs limitent fortement la volumétrie d'envoi de mails sur un compte mail via SMTP. cette méthode est donc valable seulement pour des tests de mails au fil de l'eau, par exemple un formulaire en ligne où le visiteur laisse son mail. On lui confirme l'envoi du mail ou non-envoi si on a une erreur de transmission pour cause de mail inexistant.
Et même avec cette méthode, on n'est pas certain de l'efficacité à 100%:
- les serveurs de mails à forte charge mettent un temps certain à répondre aux envoi vers des mails invalides,
- certains serveurs n'envoient aucune réponse, même sur des mails invalides, ceci pour contrer les robots spammeurs qui testeraient toutes les combinaisons possibles...
A+
la question: vérifier si un mail existe bien sur un serveur donné, par exemple xxxxx@gmail.com ?
Il y a bien une solution mais selle est loin d'être simple.
1) utiliser un serveur SMTP. Pour cela il faut avoir un compte mail accessible via le protocole SMTP
2) utiliser un framework qui implémente ce protocole SMTP, Zend framework par exemple, voir ici:
http://framework.zend.com/manual/fr/zend.mail.sending.html
3) envoyer un mail via SMTP à xxxxx@gmail.com
4) aller voir ensuite en POP si on a un retour sur l'envoi de mail indiquant "mail non distribué"
cette méthode est la plus fiable. mais de nombreux hébergeurs limitent fortement la volumétrie d'envoi de mails sur un compte mail via SMTP. cette méthode est donc valable seulement pour des tests de mails au fil de l'eau, par exemple un formulaire en ligne où le visiteur laisse son mail. On lui confirme l'envoi du mail ou non-envoi si on a une erreur de transmission pour cause de mail inexistant.
Et même avec cette méthode, on n'est pas certain de l'efficacité à 100%:
- les serveurs de mails à forte charge mettent un temps certain à répondre aux envoi vers des mails invalides,
- certains serveurs n'envoient aucune réponse, même sur des mails invalides, ceci pour contrer les robots spammeurs qui testeraient toutes les combinaisons possibles...
A+