Sincronizzazione bidirezionale del postino: un dilemma

Sto implementando una sincronizzazione bidirezionale con Mailman. Questa comunità ritiene che eliminare Mailman non sia un’opzione praticabile e desidera che gli utenti di Mailman continuino a utilizzare esclusivamente Mailman, pur potendo interagire con gli utenti di Discourse che partecipano a una singola categoria.

Per un attimo, sembrava che iscrivendo l’indirizzo della categoria Mailman alla lista, attivando l’opzione “la categoria specchia una mailing list” e aggiungendo successivamente un utente Discourse con l’indirizzo della lista Mailman che stava monitorando la categoria, la soluzione avrebbe quasi funzionato.

La mia principale preoccupazione erano i loop di posta. Nel mio primo test, pensavo stesse funzionando perfettamente e che l’unico problema fosse che i membri della lista di posta potessero disiscrivere la lista Mailman dal monitoraggio della categoria Discourse. Ho scritto un plugin per rimuovere i link di disiscrizione e pensavo di aver risolto tutto. Ma mi sbagliavo.

Il problema principale, a mio avviso, è che quando un messaggio da Discourse viene inviato alla lista, un utente che risponde al messaggio risponde direttamente a Discourse. In tal caso, il messaggio viene rifiutato perché quell’utente non è l’utente Discourse che ha sottoscritto la lista. Non sono sicuro che esista un modo efficace per risolvere questo problema. Forse potrei sovrascrivere il codice che esegue tale controllo e, se il mittente ha un indirizzo diverso da quello previsto, trattarlo come qualsiasi altro utente in fase di staging? In tal caso, l’unico problema sarebbe che le persone che cliccano su “rispondi” pensando di inviare a un singolo utente, inviano invece alla lista.

MA l’altro problema, che ritengo potrebbe essere più difficile da risolvere, è che se un utente Mailman risponde a Mailman tramite il proprio indirizzo di risposta (anziché l’indirizzo “reply-to” appena discusso), il messaggio arriverà a Discourse attraverso Mailman e Discourse lo tratterà come un nuovo argomento. Non vedo come risolvere questo problema (dato che l’oggetto accumula sempre più stringhe [blah] aggiunte da Mailman e Discourse). Ma forse risolvere solo il problema delle risposte potrebbe essere sufficiente.

Qualcuno ha altre idee?

1 Mi Piace