Como muitos sites, usamos endereços de email como identificadores de usuários para logins.
A RFC 5321 [ # 2.3.11 ] afirma que as partes locais dos endereços de email:
DEVE ser interpretada e semântica atribuída apenas pelo host especificado na parte do domínio do endereço
Isso significa que os aplicativos que processam endereços de e-mail não podem adivinhar, por exemplo, a maneira como o GMail ignorará pontos ao determinar nomes de usuários . Isso também significa que os aplicativos devem tratar as partes locais do endereço de email com distinção entre maiúsculas e minúsculas, pois é assim que a parte local é especificada .
No entanto, os usuários são estúpidos e, em um caso recente, um usuário que se inscreveu com um endereço de e-mail em maiúscula (e recebeu e clicou com êxito no e-mail de verificação) descobriu que não conseguiu fazer o login porque agora estava usando o formato em minúscula do e-mail endereço.
Nunca encontrei um servidor de e-mail que aplicasse a distinção entre maiúsculas e minúsculas em suas caixas de entrada. Não duvido que alguns existam em algum lugar, mas estou questionando se não há um benefício maior em eliminar a distinção entre maiúsculas e minúsculas para nossos nomes de usuário de e-mail do que problemas em mantê-lo.
Eu não chegaria ao ponto de imitar o processamento de pontos do GMail, ou qualquer tipo de endereçamento positivo , porque eles não parecem tão onipresentes ou assumidos automaticamente como diferenciam maiúsculas de minúsculas. No entanto, sei que não é um cenário em preto e branco, por isso estou interessado se alguém souber o quanto os endereços de email com distinção entre maiúsculas e minúsculas são realmente.
fonte
Respostas:
http://tools.ietf.org/html/rfc5321#page-42 (ênfase adicionada):
O rfc desencoraja a distinção entre maiúsculas e minúsculas. Além disso, eu pessoalmente nunca vi um host com partes locais que diferenciam maiúsculas de minúsculas.
Endereços de email que não diferenciam maiúsculas de minúsculas são um padrão de fato.
Portanto, acho que você está certo ao dizer que há um benefício maior em eliminar a distinção entre maiúsculas e minúsculas nos nomes de usuário de e-mail do que problemas em mantê-lo.
fonte
Ponto 2.4. Princípios gerais de sintaxe e modelo de transação dos estados RFC 5321 (grifo meu):
AFAIK todos os hosts de email populares evitam emails com distinção entre maiúsculas e minúsculas, e você também deve. Não usei um serviço que assumisse a distinção entre maiúsculas e minúsculas para e-mails e odeio ser surpreendido.
fonte
O que você deve fazer é usar o endereço de e-mail fornecido para enviar e-mails e transformá-lo em algo menos propenso a erros ao usá-lo como um identificador de conta ou pelo menos usá-lo como substituto quando você não encontrar uma correspondência exata.
Isso seria um análogo muito grosseiro ao que o algoritmo Soundex faz para palavras ou nomes em inglês, removendo as coisas que criam ambiguidades. Por exemplo, você pode converter o endereço inteiro em minúsculas e remover sub-endereços e símbolos não alfanuméricos da parte local (por exemplo,
[email protected]
reduziria para[email protected]
). A aplicação da mesma transformação a qualquer endereço usado durante o login proporcionaria uma correspondência para mais variantes, e o usuário não é o mais sábio, pois qualquer outro uso do endereço seria a versão fornecida.Do ponto de vista técnico, isso facilita seus logins marginalmente à força bruta. Se isso for um problema, você sempre pode exigir uma correspondência exata para logins e fornecer uma opção "esqueci meu login ou senha" que seja tolerante ao procurar a conta, pois qualquer email enviado será para o endereço "certo".
Se um endereço como o descrito acima passar por toda a inscrição e verificação, acho que não seria razoável rejeitar outros que se transformam da mesma maneira que as duplicatas. Eu postular que qualquer site que atribui endereços locais como
Lance.Boyle
,LanceBoyle
,lance.boyle
elanceboyle
e trata-los como diferentes pode ser a fonte de outros tipos de problemas.fonte
gmail.com
.