Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > Général Conception Web
Général Conception Web Forum d'entraide sur les choix technologiques. Avant de poster : Cours Dév. Web, FAQs Dév. Web, Sources Dév. Web
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Actualité déjà publiée
 
Outils de la discussion
Publicité
'
Vieux 04/03/2011, 12h36   #1
Coordinateur publications
 
Avatar de Idelways
 
Développeur Ruby on Rails / iOS et journaliste
Inscription : juin 2010
Messages : 1 101
Détails du profil
Informations professionnelles :
Activité : Développeur Ruby on Rails / iOS et journaliste

Informations forums :
Inscription : juin 2010
Messages : 1 101
Points : 24 230
Points : 24 230
Par défaut Vos applications valident-elles correctement les adresses e-mail ?

Vos applications valident-elles correctement les adresses e-mail ?
Retour sur les détails des spécifications



Les adresses e-mail sont au cœur de toutes les applications Web. Et s'il y a bien une seule tâche commune à tous les projets de développement Web, c'est la validation de ces adresses.

Si cette validation peut sembler au premier abord simple, facilement accomplie par le test de conformité à une expression rationnelle, beaucoup de développeurs ignorent les détails des spécifications et risquent de rejeter des utilisateurs aux adresses e-mail peu habituelles certes, mais tout à fait conformes.

Le problème vient essentiellement du fait que les spécifications autorisent bien plus de caractères que ne le pensent beaucoup de développeurs. Les caractères ! $ & * – = ^ ` | ~ # % ‘ + / ? _ { } étant tous aussi valides les uns que les autres.

Les spécifications autorisent même la présence du caractère « @ » (arobase) dans la première partie de l'adresse pour peu qu'il soit échappé (précédé par un Antislash)

Cette problématique est d'autant plus compliquée que certains utilisateurs disposent d'adresses e-mail cette fois non conformes aux spécifications, mais tout à fait fonctionnelles.

Chris Sinjakli (un développeur anglais) préconise une solution plutôt radicale : ne valider l'adresse e-mail que par le lien (ou code) de validation envoyé au compte de messagerie en question.

Et vous ?

Comment validez-vous les adresses mail ?
Vos scripts de validation respectent-il les spécifications ?


Source : Blog de Chris Sinjakli
Idelways est déconnecté   Envoyer un message privé Réponse avec citation 40
Vieux 04/03/2011, 13h11   #2
sunse8
Invité(e)
 
Messages : n/a
Détails du profil
Informations forums :
Messages : n/a
Points : 0
Notons aussi que pour une application PHP, il suffit d'un simple :

Code :
filter_var($adresse_email, FILTER_VALIDATE_EMAIL)
  Envoyer un message privé Réponse avec citation 10
Vieux 04/03/2011, 13h15   #3
Membre actif
 
Avatar de bigsister
 
Homme OLE MAIN()
Développeur Web
Inscription : octobre 2002
Messages : 296
Détails du profil
Informations personnelles :
Nom : Homme OLE MAIN()
Localisation : France

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : octobre 2002
Messages : 296
Points : 191
Points : 191
J'ai pris le temps une fois de lire une RFC sur ce sujet, mais c'est assez long/compliqué... Sur internet, chacun propose son expression régulière miracle pour valider ses emails... mais à chaque fois il y a un problème

Du coup je m'en sors avec celle-ci :
Code :
'^[a-zA-Z0-9\._-]{1,60}@[a-zA-Z0-9\._-]{1,36}[\.][a-zA-Z0-9]{2,4}$'
Mais je suis conscient qu'il y a 0.01% des gens qui se feront jeter

Bill si tu passes par là, donne la nous enfin cette satanée expression !!!
bigsister est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/03/2011, 13h16   #4
Membre du Club
 
Inscription : novembre 2008
Messages : 76
Détails du profil
Informations forums :
Inscription : novembre 2008
Messages : 76
Points : 66
Points : 66
La regexp de validation des emails est simple pourtant...


Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
(?:(?:rn)?[ t])*(?:(?:(?:[^()<>@,;:".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t]
)+|\Z|(?=[\["()<>@,;:".\[\]]))|"(?:[^"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:
rn)?[ t])*)(?:.(?:(?:rn)?[ t])*(?:[^()<>@,;:".\[\] \000-\031]+(?:(?:(
?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:".\[\]]))|"(?:[^"\r\\]|\\.|(?:(?:\r\n)?[
\t]))*"(?:(?:rn)?[ t])*))*@(?:(?:rn)?[ t])*(?:[^()<>@,;:".\[\] \000-\0
31]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:".\[\]]))|\[([^\[\]\r\\]|\\.)*\
](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".[] 000-031]+
(?:(?:(?:rn)?[ t])+|Z|(?=[["()<>@,;:\\".[]]))|[([^[]r]|.)*](?:
(?:rn)?[ t])*))*|(?:[^()<>@,;:".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z
|(?=[\["()<>@,;:".\[\]]))|"(?:[^"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:rn)
?[ t])*)*<(?:(?:rn)?[ t])*(?:@(?:[^()<>@,;:".\[\] \000-\031]+(?:(?:(?:\
r\n)?[ \t])+|\Z|(?=[\["()<>@,;:".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[
\t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".[] 000-031]+(?:(?:(?:rn)
?[ t])+|Z|(?=[["()<>@,;:\\".[]]))|[([^[]r]|.)*](?:(?:rn)?[ t]
)*))*(?:,@(?:(?:rn)?[ t])*(?:[^()<>@,;:".\[\] \000-\031]+(?:(?:(?:\r\n)?[
\t])+|\Z|(?=[\["()<>@,;:".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*
)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".[] 000-031]+(?:(?:(?:rn)?[ t]
)+|Z|(?=[["()<>@,;:\\".[]]))|[([^[]r]|.)*](?:(?:rn)?[ t])*))*)
*:(?:(?:rn)?[ t])*)?(?:[^()<>@,;:".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+
|\Z|(?=[\["()<>@,;:".\[\]]))|"(?:[^"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:r
n)?[ t])*)(?:.(?:(?:rn)?[ t])*(?:[^()<>@,;:".\[\] \000-\031]+(?:(?:(?:
\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:".\[\]]))|"(?:[^"\r\\]|\\.|(?:(?:\r\n)?[ \t
]))*"(?:(?:rn)?[ t])*))*@(?:(?:rn)?[ t])*(?:[^()<>@,;:".\[\] \000-\031
]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:".\[\]]))|\[([^\[\]\r\\]|\\.)*\](
?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".[] 000-031]+(?
:(?:(?:rn)?[ t])+|Z|(?=[["()<>@,;:\\".[]]))|[([^[]r]|.)*](?:(?
:rn)?[ t])*))*>(?:(?:rn)?[ t])*)|(?:[^()<>@,;:".\[\] \000-\031]+(?:(?
:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:".\[\]]))|"(?:[^"\r\\]|\\.|(?:(?:\r\n)?
[ \t]))*"(?:(?:rn)?[ t])*)*:(?:(?:rn)?[ t])*(?:(?:(?:[^()<>@,;:".\[\]
\000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:".\[\]]))|"(?:[^"\r\\]|
\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:rn)?[ t])*)(?:.(?:(?:rn)?[ t])*(?:[^()<>
@,;:".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:".\[\]]))|"
(?:[^"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:rn)?[ t])*))*@(?:(?:rn)?[ t]
)*(?:[^()<>@,;:".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:
".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?
:[^()<>@,;:\\".[] 000-031]+(?:(?:(?:rn)?[ t])+|Z|(?=[["()<>@,;:\\".[
]]))|[([^[]r]|.)*](?:(?:rn)?[ t])*))*|(?:[^()<>@,;:".\[\] \000-
\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:".\[\]]))|"(?:[^"\r\\]|\\.|(
?:(?:\r\n)?[ \t]))*"(?:(?:rn)?[ t])*)*<(?:(?:rn)?[ t])*(?:@(?:[^()<>@,;
:".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:".\[\]]))|\[([
^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\"
.[] 000-031]+(?:(?:(?:rn)?[ t])+|Z|(?=[["()<>@,;:\\".[]]))|[([^[
]r]|.)*](?:(?:rn)?[ t])*))*(?:,@(?:(?:rn)?[ t])*(?:[^()<>@,;:".\
[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:".\[\]]))|\[([^\[\]\
r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".[]
000-031]+(?:(?:(?:rn)?[ t])+|Z|(?=[["()<>@,;:\\".[]]))|[([^[]r]
|.)*](?:(?:rn)?[ t])*))*)*:(?:(?:rn)?[ t])*)?(?:[^()<>@,;:".\[\] \0
00-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:".\[\]]))|"(?:[^"\r\\]|\\
.|(?:(?:\r\n)?[ \t]))*"(?:(?:rn)?[ t])*)(?:.(?:(?:rn)?[ t])*(?:[^()<>@,
;:".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:".\[\]]))|"(?
:[^"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:rn)?[ t])*))*@(?:(?:rn)?[ t])*
(?:[^()<>@,;:".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:".
\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[
^()<>@,;:\\".[] 000-031]+(?:(?:(?:rn)?[ t])+|Z|(?=[["()<>@,;:\\".[]
]))|[([^[]r]|.)*](?:(?:rn)?[ t])*))*>(?:(?:rn)?[ t])*)(?:,s*(
?:(?:[^()<>@,;:".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:
".\[\]]))|"(?:[^"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:rn)?[ t])*)(?:.(?:(
?:rn)?[ t])*(?:[^()<>@,;:".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[
\["()<>@,;:".\[\]]))|"(?:[^"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:rn)?[ t
])*))*@(?:(?:rn)?[ t])*(?:[^()<>@,;:".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t
])+|\Z|(?=[\["()<>@,;:".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?
:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".[] 000-031]+(?:(?:(?:rn)?[ t])+|
Z|(?=[["()<>@,;:\\".[]]))|[([^[]r]|.)*](?:(?:rn)?[ t])*))*|(?:
[^()<>@,;:".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:".\[\
]]))|"(?:[^"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:rn)?[ t])*)*<(?:(?:rn)
?[ t])*(?:@(?:[^()<>@,;:".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["
()<>@,;:".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)
?[ \t])*(?:[^()<>@,;:\\".[] 000-031]+(?:(?:(?:rn)?[ t])+|Z|(?=[["()<>
@,;:\\".[]]))|[([^[]r]|.)*](?:(?:rn)?[ t])*))*(?:,@(?:(?:rn)?[
t])*(?:[^()<>@,;:".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,
;:".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t]
)*(?:[^()<>@,;:\\".[] 000-031]+(?:(?:(?:rn)?[ t])+|Z|(?=[["()<>@,;:\\
".[]]))|[([^[]r]|.)*](?:(?:rn)?[ t])*))*)*:(?:(?:rn)?[ t])*)?
(?:[^()<>@,;:".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:".
\[\]]))|"(?:[^"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:rn)?[ t])*)(?:.(?:(?:
rn)?[ t])*(?:[^()<>@,;:".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\[
"()<>@,;:".\[\]]))|"(?:[^"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:rn)?[ t])
*))*@(?:(?:rn)?[ t])*(?:[^()<>@,;:".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])
+|\Z|(?=[\["()<>@,;:".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\
.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".[] 000-031]+(?:(?:(?:rn)?[ t])+|Z
|(?=[["()<>@,;:\\".[]]))|[([^[]r]|.)*](?:(?:rn)?[ t])*))*>(?:(
?:rn)?[ t])*))*)?;s*)
Oui, c'est véridique !
Heziva est déconnecté   Envoyer un message privé Réponse avec citation 50
Vieux 04/03/2011, 13h24   #5
Membre actif
 
Avatar de bigsister
 
Homme OLE MAIN()
Développeur Web
Inscription : octobre 2002
Messages : 296
Détails du profil
Informations personnelles :
Nom : Homme OLE MAIN()
Localisation : France

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : octobre 2002
Messages : 296
Points : 191
Points : 191
Heziva tu peux citer ta source STP ?
bigsister est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 04/03/2011, 13h40   #6
Membre du Club
 
Inscription : juin 2007
Messages : 148
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 148
Points : 40
Points : 40
Topic intérressant, mais si on devait checker des milliers d'adresses email lors d'une inscription par "un test d'envoi", on va pas s'en sortir !
katcha95 est déconnecté   Envoyer un message privé Réponse avec citation 04
Vieux 04/03/2011, 13h43   #7
Expert Confirmé
 
Avatar de grunk
 
Homme Olivier
Développeur Web
Inscription : août 2003
Messages : 1 837
Détails du profil
Informations personnelles :
Nom : Homme Olivier
Âge : 27
Localisation : France, Côte d'Or (Bourgogne)

Informations professionnelles :
Activité : Développeur Web
Secteur : Industrie

Informations forums :
Inscription : août 2003
Messages : 1 837
Points : 3 318
Points : 3 318
Citation:
Chris Sinjakli (un développeur anglais) préconise une solution plutôt radicale : ne valider l'adresse e-mail que par le lien (ou code) de validation envoyé au compte de messagerie en question.
Je suis assez d'accord. Si l'email est une donnée critique la meilleur façon de la valider est effectivement d'utiliser un mail de confirmation avec tous les problème que ca engendre (mail qui n'arrive jamais , spam ...)
Cependant ca n'empèche pas de faire une validation grossière au moment de la saisie du genre vérifié que j'ai au moins un arobase , un identifiant et un domaine (pas forcément d'extension à ce domaine).
grunk est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 04/03/2011, 13h43   #8
Acropole
Invité(e)
 
Messages : n/a
Détails du profil
Informations forums :
Messages : n/a
Points : 0
Citation:
Envoyé par sunse8 Voir le message
Notons aussi que pour une application PHP, il suffit d'un simple :

Code :
filter_var($adresse_email, FILTER_VALIDATE_EMAIL)
Les commentaires dans la doc php mentionnent des erreurs de validations. Notamment la validation d'une adresse mail sans extension (genre : utilisateur@developpez au lieu de utilisateur@developpez.net).
  Envoyer un message privé Réponse avec citation 00
Vieux 04/03/2011, 13h46   #9
Membre confirmé
 
Homme
Inscription : février 2005
Messages : 287
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 27
Localisation : France

Informations forums :
Inscription : février 2005
Messages : 287
Points : 271
Points : 271
Citation:
Envoyé par katcha95 Voir le message
Topic intérressant, mais si on devait checker des milliers d'adresses email lors d'une inscription par "un test d'envoi", on va pas s'en sortir !
Ah bon ? Et pourquoi pas ?
PierreAd est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/03/2011, 13h48   #10
Membre du Club
 
Avatar de kryogen
 
Inscription : mars 2007
Messages : 134
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : mars 2007
Messages : 134
Points : 69
Points : 69
Salut,

Citation:
Heziva tu peux citer ta source STP ?
http://www.ex-parrot.com/pdw/Mail-RFC822-Address.html
kryogen est déconnecté   Envoyer un message privé Réponse avec citation 50
Vieux 04/03/2011, 14h10   #11
Invité régulier
 
Inscription : février 2010
Messages : 18
Détails du profil
Informations forums :
Inscription : février 2010
Messages : 18
Points : 5
Points : 5
Bonjour à tous,

Par ma part j'utilise la regex suivante :
Code :
(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|\"(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21\\x23-\\x5b\\x5d-\\x7f]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])*\")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21-\\x5a\\x53-\\x7f]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])+)\\])
Ma source :
http://www.regular-expressions.info/email.html

Cette regex est, d'après le site,
Citation:
The Official Standard: RFC 2822
Denouche est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/03/2011, 14h22   #12
Invité de passage
 
Inscription : mars 2007
Messages : 1
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 1
Points : 1
Points : 1
Envoyer un message via MSN à younium2
Par défaut Vos applications valident-elles correctement les adresses e-mail ? Retour sur les détails des spécifications

on peut externaliser le traitement de vérification de la véracité des adresses mail en utilisant des web services (SOAP/WSDL,HTTP). il existe des services gratuits qui le font.
le WSDL d'un bon web service que j'utilise :
http://ws.xwebservices.com/XWebEmail...alidation.wsdl
younium2 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/03/2011, 14h40   #13
Nouveau Membre du Club
 
Inscription : décembre 2005
Messages : 21
Détails du profil
Informations personnelles :
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : décembre 2005
Messages : 21
Points : 30
Points : 30
Citation:
Envoyé par grunk Voir le message
Je suis assez d'accord. Si l'email est une donnée critique la meilleur façon de la valider est effectivement d'utiliser un mail de confirmation avec tous les problème que ca engendre (mail qui n'arrive jamais , spam ...)
Cependant ca n'empèche pas de faire une validation grossière au moment de la saisie du genre vérifié que j'ai au moins un arobase , un identifiant et un domaine (pas forcément d'extension à ce domaine).
Oui je suis assez d'accord aussi, mais après nous sommes confronté aux emails jettables
Eric013 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/03/2011, 14h46   #14
Membre actif
 
Inscription : novembre 2006
Messages : 138
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 138
Points : 195
Points : 195
C'est clair, les emails jetable c'est pas terrible pour certains.
Moi pour le moment, ca n'accepte pas les emails un peu exotique
__________________
jayfaze est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/03/2011, 14h54   #15
Membre expérimenté
 
Homme Rémi BOURGAREL
Développeur .NET
Inscription : juin 2006
Messages : 426
Détails du profil
Informations personnelles :
Nom : Homme Rémi BOURGAREL
Âge : 25
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Développeur .NET
Secteur : Tourisme - Loisirs

Informations forums :
Inscription : juin 2006
Messages : 426
Points : 584
Points : 584
Code :
1
2
3
4
5
6
7
8
9
 try
            {
                MailAddress ma = new MailAddress(address);
                return true;
            }
            catch(FormatException ex)
            {
                return false;
            }
en .net/c#

System.Net.Mail.MailAddress leve une exception si c'est pas bon (par ça valide les addresses multiples).

pas de problème !
Bourgui est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/03/2011, 14h58   #16
Expert Confirmé
 
Avatar de grunk
 
Homme Olivier
Développeur Web
Inscription : août 2003
Messages : 1 837
Détails du profil
Informations personnelles :
Nom : Homme Olivier
Âge : 27
Localisation : France, Côte d'Or (Bourgogne)

Informations professionnelles :
Activité : Développeur Web
Secteur : Industrie

Informations forums :
Inscription : août 2003
Messages : 1 837
Points : 3 318
Points : 3 318
Citation:
Envoyé par Eric013 Voir le message
Oui je suis assez d'accord aussi, mais après nous sommes confronté aux emails jettables
Sur certains site j'ai pris le partit de bloquer ces adresses. C'est pas exhaustif mais je test une 30 aine de service ce qui permet d'éviter le gros des adresses jetable
grunk est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/03/2011, 15h14   #17
Membre actif
 
Inscription : novembre 2006
Messages : 138
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 138
Points : 195
Points : 195
Citation:
Envoyé par Denouche Voir le message
Bonjour à tous,

Par ma part j'utilise la regex suivante :
Code :
(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|\"(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21\\x23-\\x5b\\x5d-\\x7f]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])*\")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21-\\x5a\\x53-\\x7f]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])+)\\])
Ma source :
http://www.regular-expressions.info/email.html

Cette regex est, d'après le site,
Ouais, mais ca n'accepte pas les email ecrit en majuscule ? a moins que tu fasse un tolower d'abord ?
__________________
jayfaze est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/03/2011, 16h18   #18
Membre du Club
 
Avatar de Topeur
 
Inscription : février 2008
Messages : 91
Détails du profil
Informations forums :
Inscription : février 2008
Messages : 91
Points : 48
Points : 48
Par défaut Caractères étranges

Je ne sais combien de fois je me suis vu refusé mon adresse email spécial newsletter de gmail par les formulaires de contact.
Ces adresses email sont des alias.
toto+newsletter@gmail.com
toto+perso@gmail.com
Le + n'est pas considéré comme un caractère valide à tort !
Topeur est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 04/03/2011, 16h23   #19
Membre Expert
 
Homme
Développeur informatique
Inscription : juillet 2005
Messages : 512
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 28
Localisation : France

Informations professionnelles :
Activité : Développeur informatique
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : juillet 2005
Messages : 512
Points : 1 869
Points : 1 869
Citation:
Envoyé par Eric013 Voir le message
Oui je suis assez d'accord aussi, mais après nous sommes confronté aux emails jettables
Peut-être que si y'avait pas autant de sites qui demandaient l'adresse mail pour rien ( si ce n'est les revendre/envoyer du spam ) les gens n'utiliseraient pas ce genre de procédés....
Neko est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 04/03/2011, 17h48   #20
Membre Expert
 
Avatar de Eric2a
 
Homme Eric Garidacci
Inscription : septembre 2005
Messages : 1 057
Détails du profil
Informations personnelles :
Nom : Homme Eric Garidacci
Âge : 41

Informations forums :
Inscription : septembre 2005
Messages : 1 057
Points : 1 564
Points : 1 564
Salut,

Quelque soit la manière dont nous testons l'intégrité de la chaine alpha-numérique correspondant à l'adresse e-mail (expressions rationnelles, fonctions de filtrages perso ou natives), il est utile de vérifier aussi l'existence du domaine.

En effet, même si une adresse semble valide, cela ne veux pas dire que le domaine associé existe ou supporte la réception d'emails.

Avec PHP, il existe la fonction...
Citation:
bool checkdnsrr ( string $host [, string $type = "MX" ] )
Code php :
1
2
3
4
5
6
7
8
9
10
11
<?php
$f=(filter_var($email,FILTER_VALIDATE_EMAIL)!==false);
if($f){
	$host=strtolower(substr(strrchr($email,'@'),1));
	$f=checkdnsrr($host,'MX');
}
if($f)
	echo 'Adresse valide';
else
	echo 'Adresse invalide';
?>
__________________

N'oubliez pas le vote des messages utiles ainsi que le Tag [Résolu].

Mon Site Web : Corse - Actualité, Météo, Vidéos, Logiciels, ...
Eric2a est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Actualité déjà publiée
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 15h51.


 
 
 
 
Partenaires

Hébergement Web