El correo electrónico suele ser bueno como nombre de usuario porque:
- el usuario lo recuerda;
- es único en todo el mundo, simplificando así la gestión de colisiones (si un usuario desea usar el mismo nombre de inicio de sesión que otro, entonces uno de ellos cometió un error);
- se puede combinar con un sistema de "verificación de correo electrónico" que es conveniente si desea que el servidor pueda comunicarse con los usuarios en caso de emergencia.
Nominalmente, al menos la mitad derecha de la dirección de correo electrónico (el nombre de dominio, después del signo "@") no distingue entre mayúsculas y minúsculas, por lo que debe normalizar esa parte a minúscula, lo cual es fácil, ya que se supone que es un nombre de dominio válido, por lo tanto, limitado a un subconjunto de ASCII (Nota: tendrá que tener cuidado de usar lo que .NET llama a cultura invariante , y Java denomina configuración regional raíz ; de lo contrario, su código se interrumpirá en Turquía).
Para lo que está a la izquierda, la sensibilidad a los casos depende del sitio de recepción. La mayoría de los sitios no distinguen entre mayúsculas y minúsculas en esa parte también, y parece "razonable" realizar una normalización en minúsculas, ya que es improbable que un sitio dado distinga entre mayúsculas y minúsculas. que [email protected]
y [email protected]
son direcciones válidas para dos Bobs diferentes). Por lo tanto, sugiero la normalización en minúscula de la dirección completa para fines de comparación (es decir, para decidir de qué usuario estamos hablando); pero mantenga la dirección "tal como está" si alguna vez desea enviar un correo electrónico al usuario, o incluso si quiere mostrar al usuario (por ejemplo, como un ejemplo de "Bienvenido, Bob @". com "banner - Bob podría ser bastante aficionado a su mayúscula 'B').
Sobre el signo "+": Desde su punto de vista, eso es parte de la dirección. Este "+" se maneja en algunos sitios como una manera para que cada usuario genere muchas direcciones funcionalmente equivalentes: Bob podrá usar [email protected]
, [email protected]
, [email protected]
... todos los correos electrónicos enviados a cualquiera de Estas direcciones terminan en el buzón de Bob, pero, en opinión de Bob, aún son direcciones distintas que Bob escribe como tales. Bob espera que las direcciones se consideren distintas. Por lo tanto, su manejo del "+" depende de lo que realmente desee:
- Si solo desea un "nombre de inicio de sesión" único para que la gestión de colisiones sea fácil, deje la dirección "tal cual"; no hagas nada especial con el "+".
- Si desea imponer la unicidad de las cuentas por usuario humano (es decir, no desea que Bob pueda crear un millón de cuentas distintas), es posible que desee eliminar caracteres de "+ "firme con el signo" @ ", nuevamente para fines de comparación. Pero no creas que esta regla disuadirá a la mayoría de los Bobs; la obtención de miles de millones de direcciones de correo electrónico sin un "+" es fácil y barata (la mejor manera es comprar un dominio y alquilar un servidor para alojarlo).
Resumen: mantenga la dirección tal como se ingresó en el momento del registro y utilícela "tal como está" para mostrar y enviar correos electrónicos. Para comparaciones (es decir, ubicar la entrada del usuario en la tabla de usuarios, por ejemplo, al iniciar sesión), normalice el correo electrónico en minúsculas (con una cultura invariante).