Les documents RFC officiels State que nous peut utiliser lettres majuscules et minuscules dans la partie "locale" du domaine (plus de nombreuses autres choses folles). P>
Cependant, ce qui est courant dans le monde réel - et ce que les spécifications disent deux choses différentes. Aucun de ces caractères supplémentaires ( Je me suis envoyé quelques courriels aujourd'hui en utilisant différentes combos majuscules et minuscules et trouva que mes serveurs de messagerie les ont tous traités comme le même compte en ignorant le fait que le boîtier de la lettre était différent. En d'autres termes, johndoe@example.com = johndoe@example.com à mes serveurs de messagerie (y compris mes comptes de messagerie gratuits). P>
devrais-je agir sur le format que le monde a choisi - et standardiser / minuscule tous les e-mails ansii? strong> ou devrais-je permettre aux utilisateurs d'enregistrer plusieurs comptes comme johndoe@example.com, johndoe@example.com.com et johndoe@example.com? P> ! # $% & '* / =? ^ {|} ~ Code>) sont autorisés dans des courriels à partir de grands fournisseurs tels que Yahoo, Google ou Hotmail. En outre, il est très rare de voir un email contenant des lettres majuscules (johndoe@example.com). P>
4 Réponses :
J'ai personnellement choisir de normaliser / minuscule tous les courriels. Cela simplifie les choses pour vous car, si un utilisateur envoie un courrier électronique ou de vous connecter sur votre système, il est très simple de crypter une adresse email - johndoe@example.com vs johndoe@example.com. Et, comme vous l'avez dit, les grands fournisseurs ont pris cette décision de suivre cette tendance. Même si vous avez autorisé des lettres majuscules, cela confondrait votre base d'utilisateurs générale au fur et à mesure de leur attendre quelque chose de différent (alias tous minuscules). P>
Probablement, le bon compromis est de les laisser enregistrer avec la capitalisation de leur choix et montrer que le cas échéant ("Johndoe@example.combox"). Mais vous devriez canonaliser la capitalisation des contrôles d'unicité, car il existe de nombreux expéditeurs de messagerie mal élevés par ex. capitaliser l'adresse e-mail em> avant d'envoyer. p>
La capitalisation est donc la norme de livraison tandis que la minuscule est la norme d'affichage?
Non, je ne suggère pas que la capitalisation (haut-casage) pour la livraison est correcte, une bonne idée, ou i> utilisé par la plupart des expéditeurs. Mais il est mal utilisé par un nombre important. Et comme je l'ai dit, vous devez afficher l'adresse d'origine à l'utilisateur le cas échéant. Pour la canonicalisation, le boîtier inférieur ou la barre supérieure devraient tous deux être corrects, tant que vous êtes cohérent.
@XeonCross Non Vous devez livrer à la même adresse que l'expéditeur a écrit, le serveur de réception pourrait être sensible à la casse.
La raison de la norme était de sorte que les systèmes non UNIX puissent participer à l'Arpanet et Internet ultérieures avec des tracas minimaux. (VMS et Tenex étaient courants dans l'ancien et Bitnet était également représenté. Dans le moins au moins, des caractères minuscules ont besoin de 3278 ou 3270 terminaux.) Ces jours-ci, il est préférable d'ignorer l'affaire dans le localPart, comme tout le monde a compris comment utiliser des minuscules hors de nécessité. p>
dans Microsoft SQL Server, par défaut, les index sont insensibles de cas. P>
Si vous mettez un index unique sur le terrain, l'utilisateur peut avoir un nom de camelcase adapté aux lecteurs comme johndoe@acme.org et des doublures comme johndoe@acme.org seront rejetés automatiquement. P>
J'utilise surtout PostgreSQL, cependant, MySQL partage la même nature insensible aux cas que vous décrivez. Cependant, cela concerne plus que le stockage - j'ai également besoin d'envoyer par courrier électronique à ces comptes.