Rspamd reclama do cabeçalho Mime-Version

Recebi e-mails criados pelo Discourse (este e o meu próprio) que contêm este cabeçalho nos e-mails:

Mime-Version: 1.0

e o rspamd atribui 0,5 pontos negativos de spam por isso. :frowning:

Acho que o cabeçalho deveria ser escrito assim:

MIME-Version: 1.0

Diga a eles que estão errados e que devem corrigir sua ferramenta.

RFC 5322 - Internet Message Format : (ênfase minha)

1.2.2. Notação Sintática Esta especificação utiliza a Forma Aumentada de Backus-Naur (ABNF) [RFC5234] para as definições formais da sintaxe das mensagens. Os caracteres serão especificados seja por um valor decimal (por exemplo, o valor %d65 para A maiúsculo e %d97 para a minúsculo) ou por um valor literal insensível a maiúsculas/minúsculas entre aspas (por exemplo, “A” para A maiúsculo ou minúsculo).

Acho que a mesma discussão vale para o cabeçalho Message-ID, que também é esperado com os caracteres ID em maiúsculas. Caso contrário, ele também recebe pontos negativos.

Mesmo que eles (rspamd) possam violar o padrão com essa expectativa, pode ser razoável. Se mais e-mails legítimos (ham) tiverem essa sintaxe e a maioria dos e-mails de spam tiver a outra, pode ser aceitável filtrar dessa maneira.

Acabei de adicionar esse Q&A no rspamd:

Na minha opinião, é um equívoco desvalorizar algo “comumente usado em spam” sem considerar se ele é também comumente usado em geral.

Dado o fato de que toda instalação do Discourse utiliza as variantes Mime e Id, é óbvio que elas são amplamente usadas em e-mails legítimos (“ham”) também. Gostaria muito de ver alguns números sobre isso.

Claro que estão certos ao afirmar que não são um validador de RFC, mas isso automaticamente os coloca no papel de um órgão de padrões de fato alternativo, o que pode ser ainda pior.

E o problema é que nós, usuários ou administradores dessas instâncias, ficamos no meio e não conseguimos decidir quem está certo.

Além disso, sempre é possível notar a diferença entre fazer apenas certo e fazer ainda melhor.
Muitas vezes, tive a experiência de precisar ser flexível na comunicação técnica com sistemas externos. Eles simplesmente não fazem 100% corretamente ou, pelo menos, não da maneira como eu interpretei os padrões. Portanto, sempre haverá uma área cinzenta de flexibilidade em torno dos padrões.

Para mim, parece que os grandes players escrevem esses cabeçalhos seguindo essas regras:

  • Se for uma abreviação, use tudo em maiúsculas.
  • Se for uma palavra, use a primeira letra maiúscula e o restante em minúsculas.

Com esse padrão, MIME e ID fazem sentido, assim como Message ou Version.

Isso está dentro do padrão que diz ser insensível a maiúsculas e minúsculas, sendo apenas uma pequena dica de que é mais padronizado do que o RFC. Na minha opinião, não faz mal seguir o mesmo caminho no Discourse ao criar e-mails.