Potrebbe una soluzione consistere nell’opzione di riscrivere il message-id per riflettere l’ID originale creato dal client di posta del mittente più un identificatore aggiuntivo, ad esempio l’indirizzo To: della mailing list che Discourse già cerca? Ciò significherebbe che se un post provenisse dalla mailing list B ma facesse riferimento a un header message-id che era presente anche in un post della mailing list A, verrebbe archiviato correttamente da Discourse?
Ad esempio. L’email originale inviata contemporaneamente a due mailing list A e B ha un message-id univoco ‘1234567890gmail’.
Discourse riceve due copie inoltrate all’indirizzo generico di ingresso di Discourse. Il primo messaggio viene archiviato in base all’indirizzo To: che è per la Lista A e il message-id ottiene caratteri aggiuntivi aggiunti da Discourse per diventare ‘1234567890gmailListA’. Il secondo messaggio non viene archiviato poiché sembra un duplicato. (Penso che questo sia il comportamento attuale).
Qualcuno sulla Lista B risponde utilizzando l’indirizzo To: per la Lista B. Discourse riceve una copia e nota che c’è un header in risposta a che contiene ‘1234567890gmail’. Discourse, vedendo che l’email è arrivata con una riga To: che riflette la Lista B, aggiunge caratteri alla fine per far sì che l’header in risposta a sembri ‘1234567890gmailListB’. Quindi procede ad archiviare questo come un nuovo messaggio nella categoria corretta poiché non è più collegato al messaggio che è stato archiviato per la Lista A.
Questo approccio potrebbe funzionare anche per il trasferimento di archivi dove lo stesso message-id potrebbe essere trovato in diverse mailing list se un utente ha inviato il messaggio a diverse liste contemporaneamente. Al momento dell’importazione, tutti i campi message-id (e in risposta a) potrebbero avere testo univoco aggiunto collegato alla mailing list nominata per interrompere una sorta di interferenza tra archivi quando i messaggi vengono indicizzati.