PHP Quebec
http://www.phpquebec.com
PHP.net
PHP Québec
Mission
L'équipe
Nos projets
Contact
Ressources
Forum
Recherche

Advanced Search
Qui est en ligne
14 user(s) are online (6 user(s) are browsing Forum)

Members: 0
Guests: 14

more...

Browsing this Thread:   1 Anonymous Users





Validité d'un courriel
Régulier
Joined:
2007/8/12 19:16
From Quebec
Group:
Utilisateurs Enregistrés
Posts: 72
Level : 7; EXP : 40
HP : 0 / 160
MP : 24 / 1437
Offline
Bonjour,

J'ai dans mon script PHP lorsqu'un courriel est envoyé mis le Return-Path a mon adresse courriel afin de savoir si le courriel qui a ete fourni via un formulaire est exact ou non, de cette facon, je peux savoir si la personne a inscrit un courriel valide.

J'aimerais savoir si il existe la possibilite de le savoir sur le champ dans un script PHP. Prendre les actions nécessaires sur le champs et dire a la personne que son courriel n'est pas bon, ce qui permettrais a la personne de faire la correction necessaire ?

Merci
Sylvain

Posted on: 2008/11/25 21:10
Transfer the post to other applications Transfer


Re: Validité d'un courriel
Régulier
Joined:
2005/2/14 1:12
From Ville de Québec
Group:
Utilisateurs Enregistrés
Posts: 76
Level : 7; EXP : 65
HP : 0 / 166
MP : 25 / 2703
Offline
Bonjour,

Voilà, premièrement il te faudra savoir comment tu vas chercher les infos de ton email ( qui doit se trouver dans une boite email ). L'extension PHP populaire pour ça est : http://ca.php.net/manual/en/book.imap.php .

Une fois que tu connais le numéro du message que tu veux vérifier, tu peux consulter ce header avec la fonction imap_headerinfo .

Donne nous des news :)

--
Meaty
meaty@pyano.com

Posted on: 2008/11/26 13:12
Transfer the post to other applications Transfer


Re: Validité d'un courriel
Webmestre
Joined:
1969/12/31 19:00
From Montréal
Group:
Webmestres
Utilisateurs Enregistrés
Organisation
Posts: 414
Level : 18; EXP : 92
HP : 0 / 448
MP : 138 / 53267
Offline
À ma connaissance, il n'y a pas de solution miracle pour savoir si une adresse e-mail est valide parce qu'il y a trop d'impondérables, surtout si tu veux le faire en temps réel.

1) Vérifier la syntaxe du e-mail en question, il y un paquets d'expressions régulières qui traînent un peu partout sur le net pour faire ca dont la suivante :
$regex '/\A(?:[a-z0-9!#$%&\'*+\/=?^_`{|}~-]+'
.'(?:\.[a-z0-9!#$%&\'*+\/=?^_
`{|}~-]+)*@'
.'
(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+(?:[a-z]{2}|'
.'
com|org|net|gov|biz|info|name|aero|biz|info|jobs|'
.'
museum)\b)\Z/i;

$valid preg_match$regex$email );


2) Vérifier si un message sera effectivement accepté par le serveur du destinataire.

a. Faire une requête DNS de type MX (mail exchanger) pour trouver qui s'occupe du courrier du destinataire.
b. Contacter le serveur SMTP à l'adresse obtenue en a.
c. Envoyer un message bidon à l'adresse en questions pour voir si le destinataire (recipient) est valid. (En gros, un EHLO, MAIL FROM, RCPT_TO RESET QUIT, fait la job, voir le protocole SMTP pour plus de details)
d. Si le e-mail a bel et bien été accepté par le destinataire, il y a de bonnes changes que le e-mail soit valide.

3) Ceci dit, il peut arriver n'importe quoi durant l'étape 2) qui empêcherait ou repousserait une des opérations requises (mauvaise route, trop de charge sur les serveurs DNS, SMTP, routes, etc). Ca peut resulter en un delai inacceptable, si on veut faire la validation en temps réel.

Aussi, ce n'est pas parce que le e-mail est accepté par le serveur qu'il sera livré au destinataire (spam filter, configuration du serveur, etc)

Mieux que ça, c'est n'est pas parce qu'un e-mail sera reçu par le destinataire qu'il sera lu.

Une autre pratique est d'envoyer un e-mail de confirmation. Le compte ou l'abonnement de la personne ne sera actif que lorsqu'il/elle aura cliqué sur le lien de confirmation. Ca a quand même une certaine utilité si les gens ne peuvent pas deviner ce que ton lien de confirmation aura l'air. Encore, ce n'est pas en temps réel, plutôt une approche en différé, et ça nécessite une intervention humaine de la part de l'utilisateur.

Posted on: 2008/11/26 15:08
Transfer the post to other applications Transfer






You can view topic.
You cannot start a new topic.
You cannot reply to posts.
You cannot edit your posts.
You cannot delete your posts.
You cannot add new polls.
You cannot vote in polls.
You cannot attach files to posts.
You cannot post without approval.

[Advanced Search]


Evènements à venir
Connexion
Username:

Password:


Lost Password?

Register now!
Canal IRC
Venez nous voir sur notre canal IRC avec votre client favori :

irc.phpquebec.org
canal : #phpquebec
Membre de
Hébergé par
Nexen Services