La validation d'une adresse email est un problème bien plus complexe qu'il n'y parait au premier abord et que malheureusement la plupart des site abordent mal. Cette présentation vous explique pourquoi et vous propose un début de solution pour y remédier.
5. Un peu d’histoire
Née en Automne 1971
3 standards IETF + extensions
RFC 822 (1982) + 1327, 1138, 1148,1123, 2156
RFC 2822 (2001) + 5335, 5336
RFC 5322 (2008) + 6854
On ne compte plus les spin-offs
9. Format
domain-part
Hostname : labels séparés par des points
Label :
a to z, 0 to 9, - (hyphen), or _
(underscore)
tout le reste sous forme {octal}
Depuis 2009 : UTF-8 (IDNA RFC 5890,…)
10. Format
local-part
le point ne peut pas être le premier caractère
le point ne peut pas être le dernier caractère
le point ne peut pas être immédiatement répété
Espace et "(),:;<>@[] (ASCII: 32, 34, 40, 41, 44,
58, 59, 60, 62, 64, 91–93) doivent être entre
guillemets ou précédés d’un
UTF-8 au dessus de U+007 => valide !
En vrai c’est encore un peu plus compliqué
16. Exceptions
Vous écrivez une nouvelle
implémentation de sendmail ou de
postfix
Vous êtes Chuck Norris
Vous voulez frustrer tous les
internautes du monde
20. Règle n°2
ENVOYEZ UN MAIL
Le serveur émetteur
vérifie le « domain-part »
envoie le mail au serveur destination
Le serveur destination
valide le format de la « local-part »
vérifie l’existence de la boite de réception