He leído que por primera parte estándar de correo electrónico entre mayúsculas y minúsculas, sin embargo he tratado de enviar un correo electrónico a [email protected]
, [email protected]
y [email protected]
- se ha llegado en cada caso.
¿Cómo manejan los servidores de correo los nombres de usuario? ¿Es posible fallar con el caso y ese mensaje no se entregará? ¿Es realmente muy importante utilizar exactamente la misma letra mayúscula, como se escribió al registrarse al dar su dirección de correo electrónico?
Respuestas:
Desde RFC 5321, sección 2.3.11 :
Entonces sí, la parte anterior a la "@" podría distinguir entre mayúsculas y minúsculas, ya que está completamente bajo el control del sistema host. Sin embargo, en la práctica, ningún sistema de correo ampliamente utilizado distingue diferentes direcciones según el caso.
Sin embargo, la parte posterior al signo @ es el dominio y de acuerdo con RFC 1035 , sección 3.1,
En resumen, es seguro tratar las direcciones de correo electrónico como mayúsculas y minúsculas.
fuente
Sé que esta es una pregunta antigua, pero solo quiero comentar aquí: en cualquier medida, las direcciones de correo electrónico SON sensibles a mayúsculas y minúsculas, la mayoría de los usuarios sería "muy poco inteligente" para utilizar activamente una dirección de correo electrónico que requiere mayúsculas. Pronto dejarían de usar la dirección porque les faltaría mucho correo. (A menos que tengan una razón específica para dificultar las cosas, y esperan correo solo de remitentes específicos que conocen).
Esto se debe a que existen humanos imperfectos y también software imperfecto (¡Sorpresa!) Que asumirá que todo el correo electrónico está en minúsculas, y por esta razón, estos humanos y software enviarán mensajes utilizando una "versión en minúscula" de la dirección, independientemente de cómo se proporcionó. a ellos Si el destinatario no puede recibir dichos mensajes, no pasará mucho tiempo antes de que noten que faltan mucho, y cambien a una dirección de correo electrónico en minúsculas, o configuren su servidor para que no distinga entre mayúsculas y minúsculas.
fuente
Muy tarde a esta publicación, pero tengo algo un poco diferente que decir ...
Bueno, "depende ..." (TM)
Algunas organizaciones realmente piensan que es una buena idea y sus servidores de correo electrónico imponen mayúsculas y minúsculas.
Entonces, para esos lugares locos, "Sí, los correos electrónicos distinguen entre mayúsculas y minúsculas".
El principio de KISS sugiere que nuestros sistemas utilizan correos electrónicos que no distinguen entre mayúsculas y minúsculas.
Mientras que el principio de robustez sugiere que aceptamos correos electrónicos sensibles a mayúsculas y minúsculas.
Solución:
Esto significaría que si este correo electrónico ya existe: [email protected]
... y aparece otro usuario y quiere usar este correo electrónico: [email protected]
... que nuestra lógica de búsqueda insensible a mayúsculas y minúsculas devolvería un mensaje de error "Ese correo electrónico ya existe".
Ahora, tiene que tomar una decisión: ¿es esa solución adecuada en su caso?
De lo contrario, podría cobrar una tarifa de conveniencia a aquellos clientes que demanden soporte para sus correos electrónicos sensibles a mayúsculas y minúsculas e implementar una lógica personalizada que permita que [email protected] ingrese a su sistema, incluso si [email protected] ya existe.
En cuyo caso, su lógica de búsqueda / validación de correo electrónico podría parecerse a este pseudocódigo:
De esta manera, usted está imponiendo la insensibilidad a mayúsculas y minúsculas, pero permite a los clientes pagar por este soporte si están utilizando sistemas de correo electrónico que admiten tales tonterías.
ps ILIKE es una palabra clave de PostgreSQL: http://www.postgresql.org/docs/9.2/static/functions-matching.html
fuente
%
o sea más probable_
query = ...
líneas conquery = // Insert case-sensitive/insensitive search here
comentarios simples ya que mantienen la conversación alejada del tema de la inyección SQL y se enfoca en lo que está tratando de mostrar. En otras palabras, manténgalo en la lógica, no en la implementación. Silenciará a los críticos.IETF Estándares abiertos RFC 5321 2.4. Principios generales de sintaxis y modelo de transacción
fuente
Por @ l3x, depende.
Claramente, hay dos conjuntos de situaciones generales en las que la respuesta correcta puede ser diferente, junto con una tercera que no es tan general:
a) Eres un usuario que envía correos privados :
Muy pocos sistemas modernos de correo electrónico implementan mayúsculas y minúsculas, por lo que probablemente esté bien ignorarlas y elegir cualquier caso que desee usar. No hay garantía de que todos sus correos sean entregados, pero tan pocos correos se verían afectados negativamente que no debería preocuparse por ello.
b) Está desarrollando software de correo :
Ver RFC5321 2.4 extracto en la parte inferior.
Cuando está desarrollando software de correo, desea cumplir con RFC. Si lo desea, puede hacer que las direcciones de correo electrónico de sus propios usuarios no distingan entre mayúsculas y minúsculas (y probablemente debería hacerlo). Pero para cumplir con RFC, DEBE tratar las direcciones externas como mayúsculas y minúsculas .
c) Administrar listas de direcciones de correo electrónico de propiedad empresarial como empleado :
Es posible que el mismo destinatario de correo electrónico se agregue a una lista más de una vez, pero con un caso diferente. En esta situación, aunque las direcciones son técnicamente diferentes, puede resultar en que un destinatario reciba correos electrónicos duplicados. La forma en que trata esta situación es similar a la situación a) en que probablemente esté bien tratarlos como duplicados y eliminar una entrada duplicada. Sin embargo, es mejor tratarlos como casos especiales, enviando un correo "recordatorio" a ambas direcciones para preguntarles si son duplicados entre sí y, de ser así, qué dirección de correo electrónico preferiría que utilizara el destinatario.
Desde un punto de vista legal, si elimina un duplicado sin reconocimiento / permiso de ambas direcciones, puede ser responsable de filtrar información / autenticación privada a una dirección no autorizada simplemente porque dos destinatarios realmente separados tienen la misma dirección con diferentes casos .
Extracto de RFC5321 2.4:
fuente