Vérifier une adresse e-mail : un problème facile ?

Gérer un carnet d’adresse électronique personnel peut sembler un problème assez facile. Finalement, on a surtout besoin d’avoir une adresse correcte pour ceux à qui on écrit fréquemment, et pour ces contacts-là, on prend vite conscience de l’obsolescence d’une adresse « e-mail » (ou courriel, pour emprunter un joli terme à nos amis Québécois). Mais lorsqu’il s’agit de gérer des listes de dizaines ou de centaines de milliers d’adresses, comme c’est le cas pour les administrations publiques ou dans de nombreuses entreprises, les choses se corsent.

mailIl existe des méthodes qui permettent de maintenir à jour une base de données d’adresses électroniques autant que faire se peut. Il existe également des techniques permettant, lorsqu’une personne renseigne une adresse électronique, d’en vérifier la validité. On peut également mettre en place des stratégies permettant de s’assurer qu’une « boite aux lettres » électronique est toujours consultée. Ces méthodes feront l’objet de blogs ultérieurs. Malheureusement, de nombreuses sociétés et organismes possèdent des listes d’adresses qui n’ont jamais fait l’objet des plus simples vérifications. Jusqu’à présent en effet, l’adresse électronique d’un client ou d’un citoyen était considérée comme une information accessoire et sans intérêt, un peu comme l’a souvent été le fax. Encore aujourd’hui, nombreuses sont les personnes qui doivent fournir un numéro de fax à des sociétés qui n’ont même plus l’appareil pour en envoyer … Mais de nos jours, on se rend compte qu’avoir des listes d’adresses électroniques de mauvaise qualité coûte beaucoup d’argent, et nuit tant à la crédibilité qu’à l’efficacité. Il faut donc nettoyer un lourd passé. Ce premier article propose quelques pistes permettant de nettoyer un tel listing.

Décomposition d’une adresse

Une adresse électronique est composée de plusieurs éléments. Prenons comme exemple l’adresse (fictive)

albert.leroy@bxl.mapetitesociete.be

Cette adresse est composée principalement de trois éléments :

  1. Un « nom d’utilisateur » (ou username) : « albert.leroy » ;

  2. Un « nom de domaine », qui décrit la société qui fournit l’adresse électronique : « bxl.mapetitesociete.be » ;

  3. Un « nom de domaine de premier niveau » (ou Top Level Domain, que nous dénommerons TLD), qui est la partie la plus à droite du nom de domaine, avec le dernier point : « .be ».

Nous allons maintenant parcourir ces éléments dans l’ordre inverse, pour en mettre en avant les difficultés. Mais dans un premier temps, intéressons-nous à quelques considérations que l’on pourrait qualifier de grammaticales.

Vérification syntaxique

La première chose à faire afin de s’assurer de l’exactitude d’une adresse électronique est d’en vérifier sa syntaxe, ou son format. Par analogie, la syntaxe d’un code postal belge précise qu’il doit être composé de quatre chiffres. Mais, bien entendu, tout code respectant la syntaxe n’est pas pour autant un code postal : « 1234 » respecte bien la syntaxe d’un code postal, mais ne désigne aucune ville. Il en va de même pour les adresses électroniques, avec, bien évidemment, une syntaxe de loin plus complexe.

Erreurs syntaxiques
générales typiques :

  • albert,leroy@mps.be
  • albert.leroymps.be
  • albert.leroy@mps..be
  • albert.leroy|@mps.be
  • albert  leroy@mps.be
  • albert.leroy@mps.be2
  • albert.leroy@m_ps.be
  • Avenue Fonsy, 20

Dans la réalité, la plupart des systèmes acceptant des adresses électroniques ne font soit aucun test syntaxique, soit en font mais sont trop permissifs (c’est-à-dire qu’ils acceptent des adresses syntaxiquement incorrectes), ou, au contraire, trop contraignants (c’est-à-dire qu’ils refusent des adresses correctes). C’est que vérifier la syntaxe des adresses est bien plus complexe que ce qu’il n’y parait …

Il faut certes qu’il y ait un « @ » (arobase), qu’il n’y ait pas d’espace et qu’il y ait au moins un point dans le nom de domaine. On serait étonné du nombre de personnes, qui, par distraction ou intentionnellement, encodent un numéro de téléphone, une adresse postale ou un site web dans le champ destiné aux adresses électroniques.

Syntaxe du nom de domaine

Si l’adresse contient effectivement un @, on peut ensuite vérifier la syntaxe du nom de domaine. Dans la pratique, aujourd’hui et dans la plupart des cas, les noms de domaine peuvent contenir des caractères latins simples (non accentués, sans cédilles, … en d’autres termes, sans signe diacritique), peu importe la casse (majuscule ou minuscule), des chiffres, des tirets, ou des points. Avec quelques contraintes supplémentaires : le tiret, comme le point, doivent toujours être entourés de caractères ou de chiffres de part et d’autre, et ne peuvent ni débuter, ni terminer le nom de domaine, ni, par conséquent, être consécutifs.

Mais les choses ne vont plus rester simples longtemps. En effet, les caractères plus génériques sont officiellement acceptés, et commencent à se répandre. Par exemple, en Belgique, depuis juin 2013, des noms de domaines accentués sont acceptés pour les adresses « .be ». C’est ce qu’on appelle les « Internationalized Domain Name », ou IDN, et que chaque pays doit approuver. La France l’a également fait, mais pas les Pays-Bas. Et pour ne pas faire les choses simplement, la liste des caractères acceptés n’est pas la même dans tous les pays : les noms de domaines « .be », acceptent par exemple les caractères þ, ð et ø (Thorn, Eth et le o barré, empruntés à des alphabets scandinaves), ce qui n’est pas le cas de noms en « .fr ».

Cependant, outre des problèmes de sécurité, il est peu probable que les sociétés migrent totalement leur nom de domaine vers des domaines accentués, au risque de se voir refuser l’accès à bien des services qui ne seraient pas encore « compatibles IDN ». On peut donc imaginer que l’adresse albert.leroy@bxl.mapetitesociete.be co-existera avec albert.leroy@bxl.mapetitesociété.be pendant encore un moment, en étant synonyme l’une de l’autre.

Syntaxe du nom d’utilisateur

Si la vérification syntaxique d’un nom de domaine risque d’être compliquée à l’avenir, c’est déjà le cas pour la vérification du nom d’utilisateur. En effet, il existe des standards internationaux décrivant le format de la première partie d’une adresse électronique, mais les principaux fournisseurs (yahoo, gmail, hotmail, …) ne les respectent pas. Par exemple, les standards précisent une longue liste de caractères à accepter, dont les caractères accentués, mais aussi des caractères tels que « # », « $ », « * », « / », « ! »… Cependant, la plupart des fournisseurs ne les acceptent pas.

Erreurs spécifiques :

  • albert-leroy@gmail.com
  • leroy@gmail.com
  • albert.le.roy@yahoo.fr
  • célestine.leroy@telenet.be

Erreurs de TLD fréquentes :
.bee, .coml, .cim, .ocm, .fre, …

Hotmail, Belgacom ou Telenet n’acceptent que les caractères latins simples (non-accentués), les chiffres, le point, le tiret et le tiret bas. Yahoo y rajoute la contrainte que le nom d’utilisateur ne peut contenir qu’un seul point. Par ailleurs, Yahoo n’accepte plus le tiret aujourd’hui, alors que c’était le cas par le passé. Ses adresses doivent de plus contenir entre 4 et 32 caractères.

Gmail a décidé de pousser le non-conformisme encore plus loin. Les tirets et tirets bas ne sont pas acceptés, et les points sont acceptés, mais ignorés. En d’autres termes, l’adresse albert.leroy@gmail.com est un synonyme de albertleroy@gmail.com. Par ailleurs, le « + » permet d’insérer des commentaires : albert.leroy+blahblah@gmail.com est également synonyme des deux précédentes. De plus, les adresses Gmail doivent contenir entre 6 et 30 caractères, sans compter les points, ni ce qui suit un « + ».

Notre expérience a montré que de nombreuses adresses ont pu être invalidées à partir de listing sur base de critères spécifiques au nom de domaine, alors que des critères plus généralistes les avait acceptées.

Validation du « Top Level Domain »

Vérifier l’existence du nom de domaine de premier niveau (TLD), tel que « .be », « .com », ou « .travel » était jusqu’il y a peu relativement simple (et ça l’est encore dans beaucoup de cas). Il n’existait que plus ou moins 280 TLD, dont la liste, gérée par l’IANA est disponible en ligne et était relativement statique. Elle ne contenait par ailleurs que des caractères latins simples, sans accents, et pas de chiffres.

Mais deux nouvelles tendances vont prochainement changer la donne, comme c’est le cas pour les noms de domaines.

Premièrement, il existe aujourd’hui un certain nombre de nouveaux TLD « exotiques », contenant des caractères non-occidentaux : .中國 pour la Chine, .சிங்கப்பூர் pour Singapour, ou encore الجزائر. en Algérie. Remarquez la présence du point à la fin du TLD, puisque l’arabe s’écrit de droite à gauche.

Par ailleurs, la généralisation des TLD (« generic Top Level Domain ») permettra dans le futur d’avoir un TLD plus personnalisé. On attend les TLD « .brussels » et « .vlaanderen » pour l’été 2014. On pourra donc prochainement voir apparaître une adresse de la forme albert.leroy@mapetitesociété.brussels. Il ne sera donc plus possible de consulter une simple liste pour valider le TLD …

Validation du nom de domaine

Il ne suffit pas à un prétendu nom de domaine d’être syntaxiquement correct et de contenir un TLD valide pour en être pour autant valide. Le nom de domaine bxl.mapetitesociete.be, par exemple, n’existe pas. Malheureusement, il n’est pas possible de gérer une liste de noms de domaines existants et de les comparer avec celui d’une adresse. Rien que pour le TLD « .be », il y a eu, en moyenne en 2012, plus de 1300 changements par jour, incluant nouveaux noms et disparitions, sur un total de 1.300.000. Fin 2012, on a enregistré quotidiennement en moyenne et au niveau mondial plus de 65.000 nouveaux noms de domaine, pour un total de 250 millions !

La seule façon de le savoir est d’interroger les annuaires d’Internet, que l’on nomme Domain Name Servers, ou DNS. C’est le mécanisme qui permet de taper «http://www.google.be/ » plutôt que « http://173.194.77.94 », autrement moins convivial. Mais c’est aussi le mécanisme qui permet, au travers d’une requête dite « MX » (pour Mail eXchange), d’indiquer le serveur de mail qui gère les adresses d’un nom de domaine particulier. Par exemple, il nous indiquera que les adresses « @smals.be » sont gérées par un serveur nommé « mailgater.smals.be », ou que le serveur «gmail-smtp-in.l.google.com » gère les courriels à destination des adresses « @gmail.com ». Ces vérifications peuvent être faites soit automatiquement au travers d’un programme spécialisé, soit à la main, avec un outil tel que http://mxtoolbox.com/.

La suite

Une fois que l’on sait qu’une adresse est syntaxiquement correcte et que son nom de domaine (incluant le TLD) existe et gère bien des adresses électroniques, il reste encore deux étapes. Premièrement, on peut s’assurer qu’il existe bien une boite aux lettres correspondant au nom d’utilisateur. Il se peut que, soit une adresse ait mal été renseignée, soit elle n’existe plus, la personne ayant changé de fournisseur ou de travail.

Mais il ne suffit pas qu’une adresse soit totalement valide pour qu’un courrier arrive bien à destination ; il faut encore que quelqu’un y relève le courrier !

Plus de détails sur ces derniers éléments dans le prochain numéro …

This entry was posted in E-gov and tagged , by Vandy Berten. Bookmark the permalink.
avatar

About Vandy Berten

Consultant Recherche chez Smals depuis mai 2013. Vandy était auparavant Professeur Assistant à l'ULB, où il enseignait les langages de programmation. Il a obtenu une thèse de doctorat dans la même institution en 2007. Il a été d'octobre 2015 à septembre 2018 chargé du cours de "Visualisation des données et de l'information", à l'ULB. Depuis quelques années, s'est spécialisé dans les techniques de Data Science, incluant le "(social) network analytics", le "data quality", le "machine learning", en particulier dans le domaine de la détection de la fraude.

7 thoughts on “Vérifier une adresse e-mail : un problème facile ?

  1. Vandy a raison, i lsuffit d’envoyer un email de confirmation si cedernier existe vraiment. C’ets simple et facile. De plus, l’email de confirmation peut être automatiser donc il suffit de l’installer et le tour est joué. Mais malgré cela, on ne peut pas nier qu’il y a certains spammeurs qui piratent votre adresse tout en le laissant des tas de mail inutiles. Ce qui rend difficile la lecture des emails.

  2. Vérifier une adresse e-mail n’est pas du tout un problème facile. Mais grâce à vos infos intelligentes, il serait plus facile de gérer un carnet d’adresses électroniques personnel. Merci pour le partage. Je suis impatient de découvrir d’autres articles.

  3. très bel article, magnifique exposé, c’est très enrichissant, j’ai beaucoup appris, en effet c’est pas un problème facile du tout lorsqu’on y est face

  4. Merci et compliments pour la clarté de votre exposé dont j’attends la suite impatiemment. Un point de vue extérieur (mais intéressé): cette anarchie des adresses est fabuleuse alors que les tuyaux sont si rigoureusement organisés et emboités. Si chacun choisissait l’immatriculation de son automobile (sur la base d’une syntaxe) et en changeait librement, nous serions à l’abri des radars! En tant qu’utilisateur de base, assailli de publicités et de courriers qui savent me trouver (mais, par définition, j’ignore combien me ratent), je n’imaginais pas que le côté émetteur connaissait tant de déchets. Ayant reçu, à la suite d’erreurs de frappe dans l’écriture d’une adresse, le fameux message automatique d’erreur, je pensais naïvement que le seul problème était celui de l’ouverture, de la lecture et du traitement par le destinataire.
    Le problème n’est-il pas simplifié lorsque la première étape de la démarche consiste à donner son adresse et à recevoir automatiquement, si elle est exacte, un lien qui active la suite de la procédure comme le font de plus en plus de sites? Ca ne résout pas la question parce que l’adresse peut être ad hoc ou changer, mais ça fournit une vérification initiale.

    • Merci pour votre commentaire enthousiaste ! J’indique dans mon second paragraphe qu’il “existe (…)des techniques permettant, lorsqu’une personne renseigne une adresse électronique, d’en vérifier la validité”. Comme vous le faites remarquer très justement, l’envoi d’un lien de confirmation est la technique la plus utilisée pour ce faire. Mais le problème est que de nombreuses bases de données ont été “nourries” sans ce mécanisme, tant dans le privé que dans les administrations publiques. Il faut donc pouvoir gérer cette situation, et c’est le “focus” principal de cet article. Je développerai dans des articles ultérieurs des mécanismes permettant de s’assurer qu’une adresse, syntaxiquement correcte, existe effectivement.

      • Bonjour monsieur ,je suis Hajlaoui Charfeddine,un étudiant de 3ème année télécommunication en Tunisie .Je vais faire un projet fin d’étude sur le testeurs de validité d’adresse mail .Je suis tenu de faire le test de syntaxe ,test de validité de domaine et test de validité de l’adresse .Mais malheureusement je n’ai aucune idée sur ce projet et j’ai pas trouvé la documentation nécessaire pour le faire.Je demande votre aide précieuse avec un plan pour me guider et me donner les documents qui vont me facilité la tache et merci

Leave a Reply

Your email address will not be published. Required fields are marked *