O Message-Id de um e-mail recebido é parcialmente analisado

Olá,

Nos dois e-mails (em anexo) o campo Message-Id se parece com isto:

Message-Id: =?us-ascii?Q?\u003c937921.143a05a8b3cfad92dd74ccf3c20c29a0@seenth?=\n =?us-ascii?Q?is.net\u003e?=

Em 2.7.9 e 2.8.0 ele é analisado por Email::Receiver como =?us-ascii?Q?, ou seja, apenas parte da segunda linha. Como consequência, todas as mensagens após a primeira são descartadas silenciosamente porque são confundidas com tendo o mesmo Message-Id.

A análise de mail1.txt (abaixo) com python3 mostra o seguinte Message-Id:

$ ( echo import email ; echo 'print(email.message_from_string(open(\"mail1.txt\").read())[\"Message-Id\"])' ) | python3
=?us-ascii?Q?\u003c937921.143a05a8b3cfad92dd74ccf3c20c29a0@seenth?=\n =?us-ascii?Q?is.net\u003e?=

Parece ser um bug na classe de análise Mail usada pelo discourse por aqui:

Muito obrigado por qualquer conselho que você possa ter para corrigir ou contornar este problema.

mail1.txt (3.6 KB)
mail2.txt (3.6 KB)

2 curtidas