none
Ñ y ñ Envio de correo en SQL 2000 RRS feed

  • Pregunta

  • Hola buen día

    Una consulta :

    Cuando ejecuto la la siguiente sentencia en sql 2000

    master.dbo.xp_smtp_sendmail    con el siguiente correo de destinatario

    por ejemplo nmaguiña@hotmail.com  ; lo envía correctamente, pero si escribo por ejemplo este correo nJuliÑa@hotmail.com

    me sale un error en SQL 2000, me dice que el carácter es inválido.

    Al parecer no reconoce la Ñ mayúscula pero si reconoce y envía si el correo es con "ñ" minúscula.

    Quisiera saber porque sucede esto, a que se debe que con minúscula "ñ" si puedo enviar un correo.

    martes, 9 de octubre de 2012 17:08

Respuestas

  • La norma RFC 822 que regula el envio de mensajes por correo electrónico (http://www.ietf.org/rfc/rfc0822.txt) especifica que las direcciones deben estar formadas por caracteres ASCII (ver, entre otros, el apartado 3.1.2). Esto implica que no es legal introducir una Ñ en una dirección de correo electrónico (ojo, no en el nombre del destinatario, donde sí que existe una codificación para meter estos cracteres, sino en el usuario@dominio). Al no estar permitido por la norma, si se infringe ésta y se meten caracteres no-ASCII, el comportamiento de todas las máquinas por las que atraviese ese mensaje es indeterminado, y no se puede garantizar que funcionen esas direcciones de correo en todas las circunstancias. Y por lo que comentas, el propio SQL Server (por el que se hace atravesar el mensaje) es una de las máquinas con "comportamiento indeterminado", que falla por pasarle un valor no permitido por la norma.

    • Propuesto como respuesta dani671MVP miércoles, 10 de octubre de 2012 15:41
    • Marcado como respuesta Eder Costa lunes, 15 de octubre de 2012 14:05
    miércoles, 10 de octubre de 2012 8:34
  • Hola.

    Esa Ñ (mayúscula) va a generar mucho problemas independientemente de que puedas pasar por xp_smtp_sendmail, en el propio envío del correo y en su recepción. La solución más sensata, desde mi punto de vista, es no permitir cuentas de correo con ese caracter. Y con la "ñ", más o menos lo mismo, pero con en minúscula tendrá menos inconvenientes.


    Alberto López Grande
    SQL Server MVP
    Visita mi blog en http://qwalgrande.com
    Sígueme en twitter en http://twitter.com/qwalgrande

    miércoles, 10 de octubre de 2012 6:57
    Moderador

Todas las respuestas

  • Hola.

    Esa Ñ (mayúscula) va a generar mucho problemas independientemente de que puedas pasar por xp_smtp_sendmail, en el propio envío del correo y en su recepción. La solución más sensata, desde mi punto de vista, es no permitir cuentas de correo con ese caracter. Y con la "ñ", más o menos lo mismo, pero con en minúscula tendrá menos inconvenientes.


    Alberto López Grande
    SQL Server MVP
    Visita mi blog en http://qwalgrande.com
    Sígueme en twitter en http://twitter.com/qwalgrande

    miércoles, 10 de octubre de 2012 6:57
    Moderador
  • La norma RFC 822 que regula el envio de mensajes por correo electrónico (http://www.ietf.org/rfc/rfc0822.txt) especifica que las direcciones deben estar formadas por caracteres ASCII (ver, entre otros, el apartado 3.1.2). Esto implica que no es legal introducir una Ñ en una dirección de correo electrónico (ojo, no en el nombre del destinatario, donde sí que existe una codificación para meter estos cracteres, sino en el usuario@dominio). Al no estar permitido por la norma, si se infringe ésta y se meten caracteres no-ASCII, el comportamiento de todas las máquinas por las que atraviese ese mensaje es indeterminado, y no se puede garantizar que funcionen esas direcciones de correo en todas las circunstancias. Y por lo que comentas, el propio SQL Server (por el que se hace atravesar el mensaje) es una de las máquinas con "comportamiento indeterminado", que falla por pasarle un valor no permitido por la norma.

    • Propuesto como respuesta dani671MVP miércoles, 10 de octubre de 2012 15:41
    • Marcado como respuesta Eder Costa lunes, 15 de octubre de 2012 14:05
    miércoles, 10 de octubre de 2012 8:34