Ошибка зеркалирования списка рассылки с последствиями для безопасности

Может ли одним из решений стать возможность переписывать заголовок Message-ID так, чтобы он отражал исходный идентификатор, созданный почтовым клиентом автора, плюс дополнительный идентификатор, например, адрес в поле To: рассылки, который Discourse уже ищет? Это означало бы, что если сообщение поступит из рассылки B, но будет ссылаться на заголовок Message-ID, который также встречается в сообщении из рассылки A, то Discourse правильно его классифицирует?

Например: исходное письмо, отправленное одновременно в две рассылки A и B, имеет уникальный Message-ID ‘1234567890gmail’.

Discourse получает две копии, пересланные на общий входящий адрес Discourse. Первое сообщение классифицируется на основе поля To:, указывающего на список A, и к его Message-ID Discourse добавляет дополнительные символы, превращая его в ‘1234567890gmailListA’. Второе сообщение не классифицируется, так как выглядит как дубликат. (Полагаю, это текущее поведение).

Участник списка B отвечает, используя адрес в поле To: для списка B. Discourse получает копию и замечает заголовок In-Reply-To, содержащий ‘1234567890gmail’. Видя, что письмо пришло с полем To:, указывающим на список B, Discourse добавляет символы в конец, чтобы заголовок In-Reply-To выглядел как ‘1234567890gmailListB’. Затем он классифицирует это как новое сообщение в правильной категории, так как оно больше не связано с сообщением, классифицированным по списку A.

Такой подход может работать и при переносе архивов, где один и тот же Message-ID может встречаться в нескольких рассылках, если пользователь отправил сообщение в несколько списков одновременно. В момент импорта ко всем полям Message-ID (и In-Reply-To) можно добавлять уникальный текст, связанный с именем рассылки, чтобы предотвратить своего рода перекрестные помехи между архивами при индексации сообщений.