Oggi inizio a lavorare su uno script Python per migrare una mailing list Mailman 2 (archivi e config.pck) utilizzando esclusivamente l’API di Discourse. Se qualcuno è interessato, il lavoro sta avvenendo qui e aggiornerò questo argomento con i progressi.
Eventuali commenti su ciò di cui le persone hanno bisogno o suggerimenti su come migliorare il processo sono ovviamente molto benvenuti
digest_members : scartato. Non è possibile richiedere una modalità di digest su base per categoria.
Forse “Osserva il primo messaggio” potrebbe essere un’approssimativa equivalente, a seconda di quanto spesso vengono creati nuovi thread/argomenti e di quanto spesso, nella pratica, veniva inviata una digest nella lista.
Una prima versione dello script è stata pubblicata su Client Challenge. Funziona per me, spero possa essere d’aiuto anche per altri. Se non funziona, fatemelo sapere e proverò ad adattare lo script.
Come gestisce le elenchi in cui from_is_list è impostato su Munge From o Wrap Message (o sono utilizzate le impostazioni DMARC equivalenti)? È in grado di determinare quale utente ha inviato quei messaggi?
Grazie. Se può aiutare, l’indirizzo email del mittente originale appare spesso (sempre?) nell’intestazione “Cc:” dell’email, almeno quando from_is_list è Munge From.
Questo si applica a tutti i messaggi non in formato digest inviati dalla lista. Per le impostazioni relative esclusivamente ai messaggi il cui dominio nel campo From: pubblica una politica DMARC con p=reject o p=quarantine, consultare la descrizione di dmarc_moderation_action nella sezione Filtri mittente.
Se impostato su Munge From, sostituisce l’indirizzo nell’intestazione From: con l’indirizzo di invio della lista per mitigare i problemi derivanti dalle politiche DMARC o simili del dominio originale del campo From:, inserendo l’indirizzo originale del mittente nell’intestazione Reply-To:.
Se impostato su Wrap Message, incapsula il messaggio originale come sottoparte MIME di un messaggio esterno, con le intestazioni From: e Reply-To: come descritto sopra.
Non credo che Discourse offra una funzionalità simile. Non ho visto alcuna impostazione del sito che corrisponda a questa. Inoltre, negli ultimi giorni ho esaminato più volte tutte le impostazioni relative alla posta, nel contesto di una migrazione in corso da Mailman 2.
Discourse funziona essenzialmente allo stesso modo di Mailman 2 con l’impostazione from_is_list = Munge From: con queste configurazioni, ogni email di una lista Mailman ha come mittente “From: listname@example.com” (anziché “From: joebloggs@email.com”) e, analogamente, ogni notifica email da Discourse proviene dallo stesso indirizzo email del forum (noreply@forum.example.com o simile).
Tuttavia, non stavo chiedendo di replicare questa funzionalità in Discourse. [Modifica - come avrai notato - ho appena visto la tua seconda risposta!]
La mia domanda era: quando questa impostazione di Mailman è attiva, il tuo script importerebbe questi messaggi come provenienti da un singolo utente Discourse (il cui indirizzo email è listname@example.com), o sarebbe invece in grado di identificare il mittente originale?
Grazie per la spiegazione. Lo script mailman2discourse non svolge alcun ruolo in questo caso, poiché non importa i messaggi. L’importazione dei messaggi avviene tramite l’importatore mbox di Discourse.
Penso che imposti l’autore di tutte le email su listname@example.com. Non vedo nulla in discourse/script/import_scripts/mbox/importer.rb che suggerisca il contrario. Sarebbe una funzionalità da aggiungere, forse controllabile tramite un campo use_reply_to_instead_of_from nel file settings.yml?
Purtroppo ho anche impostato reply_goes_to_list su “Questa lista” (che modifica l’intestazione “Reply-To:”), quindi dovremmo trovare un’altra soluzione. O forse no… Pubblicherò una domanda nell’altro argomento. Grazie per il tuo aiuto.