Tenga un programa .NET que use el espacio de nombres System.Net.Main para enviar un correo electrónico a través de SMTP.
Está en el sitio de un cliente, por lo que desde allí pasará por una (¿serie de?) Servidores de retransmisión SMTP antes de llegar a su destino.
Por el momento no tengo información sobre esta infraestructura de reproducción / correo electrónico smtp (y obtener esa información va a ser difícil).
En algún lugar a lo largo de la línea, se inserta un signo de exclamación en las URL largas en el correo electrónico alrededor de 100 caracteres desde el comienzo de una línea.
EDITAR: en realidad hemos encontrado sus cerca de 1000 caracteres en
Esto no está sucediendo en un sistema de prueba o en cientos de otros sitios.
Estoy seguro de que esto tiene que ver con los códigos de escape para romper largas filas.
¿Alguien tiene alguna idea?
Respuestas:
Fui golpeado con esto yo mismo.
Si está creando un mensaje html sin ningún retorno de carro, puede recibir errores en algún lugar alrededor de la marca de 1000 caracteres.
La solución es agregar algunos caracteres \ r \ n para que cada línea sea menor que 1000 (o 988 si no cuenta los caracteres \ r \ n).
Ver sección 2.1.1. Límites de longitud de línea de RFC 2822 para más detalles:
fuente
Ajustar a un cierto número de caracteres suele ser un problema del cliente. Si no lo está viendo en sus otros sitios, o en una máquina de prueba, no creo que sea su código. Vea si no puede averiguar qué cliente se está utilizando para recibir el mensaje; podría tratarse de algo viejo y crujiente que se ajusta automáticamente a un cierto número de caracteres.
fuente
No parece que la aplicación .Net esté causando el problema si el problema no está ocurriendo en muchos otros sitios donde se está ejecutando el mismo código. ¿El sitio del problema está detrás de algún tipo de firewall de aplicación o dispositivo antispam que podría estar monitoreando la transmisión smtp? Si es así, puede haber una regla sobre el truncamiento de URL largas que se está activando, lo que hace que las URL en el correo electrónico se acorten.
fuente