Il nostro discorso serve un’ampia comunità di diversi gruppi che non interagiscono regolarmente, ma che a volte devono condividere informazioni. Il problema è che se qualcuno inoltra un’e-mail ricevuta da una categoria a un’altra categoria tramite e-mail, il messaggio finisce nell’argomento originale invece che nella categoria utilizzata per l’e-mail.
Dettagli:
In esecuzione 2.9.0.beta1
Abbiamo abilitato l’invio tramite e-mail e la risposta tramite e-mail nella nostra istanza
A ogni categoria è assegnata un’e-mail del tipo discourse+CATEGORIA@...
Passaggi per riprodurre:
Si riceve una notifica e-mail di un nuovo post nella categoria A
Si inoltra l’e-mail ricevuta alla categoria B utilizzando la sua e-mail discourse+CAT-B@...
Il messaggio inoltrato finisce nella discussione originale nella categoria A
Domanda: come garantire che l’e-mail inoltrata finisca nella categoria B corretta? (senza modificare alcuna intestazione dell’e-mail!)
Intendi dire che finisce nel thread originale nella categoria A?
Ancora una volta rispondo non sapendo nulla e molto presto qualcuno verrà a dire come stanno realmente le cose — ma per quanto ne so dovrebbe andare così e una risposta non cambia in un nuovo argomento solo cambiando email.
Non riesco a riprodurre questo problema. Questi sono i miei passaggi finora:
Imposta CategoryA e CategoryB e assegna loro indirizzi email (categorya@[MyTestSite] e categoryb@[MyTestSite])
Imposta test_user su Watching per entrambe le categorie
Imposta email time window mins su 1 min (opzionale, ma velocizza le cose)
L’amministratore pubblica un argomento nella CategoriaA
Test_user riceve un’email di notifica del nuovo argomento nella CategoriaA e la inoltra con un messaggio alla CategoriaB
Viene creato un nuovo argomento nella CategoriaB (con un titolo molto brutto - Fwd: [JammyDodger's Test Site] [categorya] Topic for Category A), ma include solo il messaggio aggiunto e non le informazioni previste dell’inoltro)
Non riesco a replicare il problema per cui un’email inoltrata a una categoria finisce come risposta a un argomento esistente? C’è qualcos’altro che potrei provare?
Potrebbe avere a che fare con il client di posta elettronica? Ho “accusato” discourse di raggruppare i messaggi in base al campo “in-reply-to” anziché al campo “to”…
Ho appena provato a riprodurre anche questo (una differenza chiave sembrava essere premere ‘Rispondi’ e poi cambiare manualmente l’indirizzo A, piuttosto che inoltrare), ma il mio è finito di nuovo come un nuovo argomento nella Categoria B. Forse questo lo rende specifico del client? @artur Quale stai usando?
Ho appena provato con la mia gmail ma l’email è finita comunque nella categoria originale.
Strano: sono sorpreso che abbia funzionato per te!
Potresti controllare gli header dell’email inoltrata?
Vedo ad esempio che References contiene l’id dell’argomento originale: potrebbe avere la priorità sul campo to:?
Grazie per il link!
Sembra una situazione simile tranne per il fatto che nel mio caso si tratta di inoltrare un’email e non di rispondere. Quindi non capisco ancora quel comportamento.
Continuo a scrivere una risposta e poi penso a qualcos’altro da provare. Ma finora non sono riuscito a replicare il tuo problema. Alcune cose forse rilevanti: ho impostato mail-receiver per il mio sito di test, piuttosto che POP3, e stai inoltrando un primo post/OP o una risposta?
Ciao @JammyDodger, mi sono appena reso conto che la maggior parte delle mie categorie era storicamente impostata su La categoria rispecchia una mailing list. Potresti provare a riprodurre il problema abilitando questa opzione? Ho appena provato a disabilitarla sulla mia istanza di test e sembra risolvere il comportamento anomalo.
Ho appena testato questo con La categoria rispecchia una mailing list abilitata sia per la Categoria A che per la Categoria B e ora posso replicare il problema.
Imposta CategoryA e CategoryB e assegna loro indirizzi email (categorya@[MyTestSite] e categoryb@[MyTestSite])
Imposta La categoria rispecchia una mailing list per ogni categoria
Imposta test_user su Watching per entrambe le categorie
Imposta email time window mins a 1 min (opzionale, ma velocizza le cose)
L’amministratore pubblica un argomento nella CategoriaA
Test_user riceve un’email di notifica del nuovo argomento nella CategoriaA e la inoltra con un messaggio alla CategoriaB
L’inoltro appare come una risposta all’argomento originale nella Categoria A
Non sono molto esperto di mailing list, potrebbe trattarsi di un bug o di un conflitto di impostazioni?
E questo potrebbe aiutare anche con il tuo problema, @dachary?
Di solito find_related_post_with_key è abilitato nelle impostazioni del sito. Disabilitarlo per l’intero sito non è raccomandato, poiché consente l’impersonificazione dell’utente basata sull’indirizzo email. Le email in arrivo inviate alla mailing list utilizzano sempre il Message-ID dell’email per trovare post correlati e ignorano il valore di tale impostazione del sito.
Ho mantenuto l’opzione principalmente per un altro punto:
Normalmente Discourse si aspetta che le email in arrivo contengano testo formattato come Markdown. Gli utenti della mailing list di solito non sono a conoscenza di questo requisito, quindi Discourse non interpreta alcun Markdown (ad eccezione dei blocchi di codice racchiusi da tre backtick) o HTML all’interno di email di testo semplice e li pubblica con la formattazione originale intatta.
Il che ha senso per le persone che non hanno idea di markdown
Penso quindi che per un sito mirror di sole mailing list faccia il suo lavoro correttamente.
Vedrò come gli utenti gestiranno il markdown: sicuramente non sono consapevoli che questo è previsto!
Un problema che si è effettivamente verificato quando ho disabilitato il mirroring delle mailing list è che nel caso di messaggi generati automaticamente che vengono inviati per conto di alcuni utenti, si verifica l’errore Discourse::InvalidAccess. Con il messaggio di rifiuto che dice
Il tuo account non ha i privilegi per pubblicare nuovi argomenti in quella categoria.
Anche se prima ha funzionato per lo stesso utente. Quindi immagino che l’opzione mirror disabiliti una qualche forma di protezione per questo.