Tenha um programa .NET que use o espaço para nome System.Net.Main para enviar um email via SMTP.
Está no site de um cliente e, a partir daí, ele passa por uma (série de?) Servidores de retransmissão SMTP antes de chegar ao seu destino.
No momento, não tenho informações sobre essa infraestrutura de replay / email smtp (e obter essas informações será difícil).
Em algum lugar ao longo da linha, um ponto de exclamação está sendo inserido em URLs longos no e-mail em torno de 100 caracteres desde o início de uma linha.
EDIT- Na verdade, encontrou seus cerca de 1000 caracteres em
Isso não está acontecendo em um sistema de teste ou em centenas de outros sites.
Tenho certeza de que isso tem algo a ver com códigos de escape para quebrar longas filas.
Alguém tem alguma idéia?
Respostas:
Fui atingido por isso sozinho.
Se você estiver criando uma mensagem html sem nenhum retorno de carro, poderá encontrar erros em torno da marca de 1.000 caracteres.
A solução é adicionar alguns \ r \ n caracteres para que cada linha seja menor que 1000 (ou 988, se você não contar os caracteres \ r \ n).
Veja a seção 2.1.1. Limites de comprimento de linha da RFC 2822 para obter mais detalhes:
fonte
A quebra de um determinado número de caracteres geralmente é um problema do cliente. Se você não o vê em outros sites ou em uma máquina de teste, não acho que seja o seu código. Veja se você não consegue descobrir qual cliente está sendo usado para receber a mensagem - pode ser uma coisa antiga e cruel que envolve automaticamente um determinado número de caracteres.
fonte
Não parece que o aplicativo .Net está causando o problema se o problema não ocorrer em muitos outros sites em que o mesmo código está sendo executado. O site do problema está por trás de algum tipo de firewall de aplicativo ou dispositivo anti-spam que pode estar monitorando o fluxo smtp? Nesse caso, pode haver uma regra sobre o truncamento de URLs longos que está sendo acionada, o que faz com que os URLs no email sejam encurtados.
fonte