¿Cuántos caracteres pueden estar en la línea de asunto del correo electrónico de Internet? Tuve un escaneo de The RFC por correo electrónico, pero no pude ver específicamente cuánto tiempo se permitió. Tengo un colega que quiere validarlo programáticamente.
Si no hay un límite formal, ¿cuál es una buena extensión en la práctica para sugerir?
Respuestas:
Consulte RFC 2822 , sección 2.1.1 para comenzar.
Como indica el RFC más adelante, puede evitar este límite (no es lo que debería) doblando el tema en varias líneas.
La recomendación de no más de 78 caracteres en el encabezado del asunto suena razonable. Nadie quiere desplazarse para ver toda la línea de asunto, y algo importante podría quedar cortado a la derecha.
fuente
RFC2322 indica que el encabezado de asunto "no tiene restricción de longitud"
pero para producir encabezados largos pero necesita dividirlo en varias líneas, un proceso llamado "plegado".
sujeto se define como "no estructurado" en RFC 5322
Aquí hay algunas citas (indique [...] cosas que omití)
fuente
c-client
después de alguna prueba: si envía un correo electrónico a un cliente de Outlook, y el asunto es> 77 caracteres, y necesita usar
"=?ISO"
dentro del asunto (en mi caso debido a los acentos), entonces OutLook "cortará" el asunto en medio de y engrane todo lo que viene después, incluido el texto del cuerpo, los archivos adjuntos, etc. ¡todo en una malla!Tengo varios ejemplos como este:
A:
Como puede ver, en la línea de asunto se cortó en char 78 con un "=" seguido de 2 o 3 avances de línea, luego continuó con el resto del tema mal.
Me lo informaron varios clientes que usaban OutLook, otros clientes de correo electrónico tratan esos temas de acuerdo.
Si no tiene ISO, no hace daño, pero si lo agrega a su tema para ser bueno con RFC, entonces recibe esta sorpresa de OutLook. Bit si no agrega los ISO, entonces el correo electrónico del iPhone no lo entenderá (y adjuntar archivos con nombres que usen dichos caracteres no funcionará en los iPhone).
fuente
No creo que haya un límite formal aquí, y estoy bastante seguro de que tampoco hay un límite estricto especificado en el RFC, como descubrió.
Creo que algunas limitaciones bastante comunes para las líneas de asunto en general (no solo el correo electrónico) son:
Obviamente, quieres llegar a algo que sea razonable. Si está escribiendo un cliente de correo electrónico, es posible que desee ir con algo así como 256 caracteres, y obviamente probar exhaustivamente con los grandes servidores comerciales para asegurarse de que sirven su correo correctamente.
¡Espero que esto ayude!
fuente
Lo importante es qué mecanismo está utilizando para enviar el correo electrónico. La mayoría de las bibliotecas modernas (es decir, System.Net.Mail) le ocultarán el plegado. Simplemente coloca una línea de asunto de correo electrónico muy larga sin (CR, LF, HTAB). Si comienzas a intentar hacer tu propio plegado, todas las apuestas están canceladas. Comenzará a informar errores. Entonces, si tiene este problema, simplemente filtre CR, LF, HTAB y deje que la biblioteca haga el trabajo por usted. Por lo general, también puede establecer el tipo de texto de codificación como un campo separado. No hay necesidad de codificación iso en la línea de asunto.
fuente