Quantos caracteres podem estar na linha de assunto do email da Internet? Eu fiz uma varredura no The RFC por e-mail, mas não pude ver especificamente quanto tempo isso poderia ter. Eu tenho um colega que deseja validar programaticamente por isso.
Se não há limite formal, qual é um bom comprimento na prática para sugerir?
Respostas:
Veja RFC 2822 , seção 2.1.1 para iniciar.
Como a RFC indica posteriormente, você pode contornar esse limite (não é o que deveria) dobrando o assunto em várias linhas.
A recomendação para não mais que 78 caracteres no cabeçalho do assunto parece razoável. Ninguém quer rolar para ver toda a linha de assunto, e algo importante pode ser cortado à direita.
fonte
RFC2322 afirma que o cabeçalho do assunto "não possui restrição de comprimento"
mas para produzir cabeçalhos longos, é necessário dividi-lo em várias linhas, um processo chamado "dobrar".
assunto é definido como "não estruturado" na RFC 5322
aqui estão algumas citações ([...] indicam coisas que eu omiti)
fonte
c-client
após algum teste: se você enviar um email para um cliente do Outlook, e o assunto for> 77 caracteres, e ele precisar ser usado
"=?ISO"
dentro do assunto (no meu caso por causa de sotaques), o OutLook "cortará" o assunto no meio do e malha tudo o que vem depois, incluindo o texto do corpo, anexa, etc ... tudo uma malha!Eu tenho vários exemplos como este:
Para:
Como você vê, na linha de assunto foi cortado no caractere 78 com um "=" seguido de 2 ou 3 alimentações de linha, depois continuou com o restante do assunto de maneira incorreta.
Foi relatado a mim por vários clientes que, todos usando o Outlook, outros clientes de email lidam com esses assuntos ok.
Se você não tem ISO, não faz mal, mas se você o adiciona ao assunto para ser agradável com a RFC, você obtém essa surpresa do OutLook. Pouco se você não adicionar os ISOs, o e-mail do iPhone não o entenderá (e anexar arquivos com nomes usando esses caracteres não funcionará nos iPhones).
fonte
Não acredito que exista um limite formal aqui e tenho certeza de que também não há nenhum limite rígido especificado na RFC, como você encontrou.
Eu acho que algumas limitações bastante comuns para linhas de assunto em geral (não apenas email) são:
Obviamente, você deseja criar algo que seja razoável. Se você estiver escrevendo um cliente de e-mail, convém usar algo como 256 caracteres e, obviamente, testar minuciosamente os grandes servidores comerciais disponíveis para garantir que eles atendam seus e-mails corretamente.
Espero que isto ajude!
fonte
O importante é qual mecanismo você está usando para enviar o email. A maioria das bibliotecas modernas (isto é, System.Net.Mail) ocultará a dobra. Você acabou de colocar uma linha de assunto de email muito longa sem (CR, LF, HTAB). Se você começar a tentar fazer o seu próprio fold, todas as apostas serão canceladas. Ele começará a relatar erros. Portanto, se você estiver tendo esse problema, filtre o CR, LF, HTAB e deixe a biblioteca fazer o trabalho por você. Você também pode definir o tipo de texto de codificação como um campo separado. Não há necessidade de codificação iso na linha de assunto.
fonte