Simile a Mirrored mailing list is rejecting registered forum users
Non sembra esserlo. Lâargomento a cui si fa riferimento sembra essere un problema di autorizzazioni causato da una configurazione errata.
Mi scuso, mi dispiace per lâinterruzione.
Ho proposto una correzione per il problema che ho riscontrato, ma da tutto ciò che ho trovato finora il componente che eseguiva la manomissione influenza solo il record salvato e non influisce sulla posta in arrivo durante lâelaborazione.
Sono ragionevolmente sicuro che la fonte del problema debba essere qualcosâaltro, ma non so ancora cosa possa essere.
Vedendo che questa modifica è stata unita, ho aggiornato la nostra istanza di Discourse oggi e terrò dâocchio i log delle email rifiutate nei prossimi giorni.
GiĂ dallâaggiornamento, sono stati registrati tre nuovi errori InvalidPost, ma i dettagli del rifiuto sono diversi: tutti e tre gli errori mostrano il corpo del messaggio corretto (dove prima veniva mostrata la firma della mailing list) e il motivo del rifiuto è ora Access Denied.
Questo è almeno un miglioramento.
Il motivo dellâerrore rimane con lâutente?
Sei sicuro che lâerrore non sia corretto? Lâutente ha il permesso di pubblicare nella categoria? Lâutente è attivo?
A prima vista, la ragione non sembra reggere: lâaccount è attivo, non sospeso nĂŠ silenziato. Tuttavia, ho notato che lâaccount non è âstagedâ (preparato), che è il caso della maggior parte degli account i cui post della mailing list finiscono in Discourse. Tutti i post degli utenti non âstagedâ provengono dai membri del team di moderazione.
La nostra categoria di mirroring della mailing list è stata inizialmente impostata utilizzando questa guida: Mirroring a read-only mailing list in Discourse
Tuttavia, ho appena esaminato le autorizzazioni configurate sulla categoria e sembra che il nostro gruppo di moderatori sia stato aggiunto, e a everyone (tutti) siano state concesse le autorizzazioni di reply (risposta).
Ho rimosso queste autorizzazioni aggiuntive e ho lasciato solo a everyone lâautorizzazione di see (visualizzazione). Forse queste autorizzazioni âextraâ stanno interferendo con il modo in cui Discourse gestisce queste categorie speciali di âmirroring della mailing listâ?
Il fatto che lâutente non sia âstagedâ (preparato) potrebbe essere il problema. Gli utenti âstagedâ non vengono controllati per verificare se hanno il permesso di pubblicare nella categoria, ma gli utenti registrati sĂŹ. Quindi, se lâutente non fa parte di un gruppo che ha il permesso di rispondere agli argomenti nella categoria, la sua risposta verrĂ rifiutata perchĂŠ non ha il permesso. Lo stesso vale per i nuovi argomenti e il permesso di âcreazioneâ.
Câè una discussione su questo problema qui: Category not accepting "anonymous email" from known users
Tuttavia, ho appena esaminato le autorizzazioni configurate sulla categoria e sembra che il nostro gruppo di moderatori sia stato aggiunto, e a
everyonesiano state concesse le autorizzazioni direply.Ho rimosso queste autorizzazioni aggiuntive e ho lasciato solo a
everyonelâautorizzazione disee. Forse queste autorizzazioni âextraâ interferiscono con il modo in cui Discourse gestisce queste categorie speciali di âmirror della mailing listâ?
In realtĂ , lascia stare, devo aver guardato unâaltra categoria, perchĂŠ le autorizzazioni per la categoria mirror della mailing list sono quelle previste: solo everyone ha lâautorizzazione di see. Detto questo, la mia osservazione che i post di utenti non moderatori e non in fase di allestimento vengono costantemente rifiutati.
Questa spiegazione ha sicuramente senso in base a ciò che sto vedendo, ma se è cosĂŹ, questo è decisamente un comportamento inaspettato e confuso: gli mittenti che pubblicano sulla mailing list rispecchiata ma che per caso hanno giĂ un account su Discourse con lâindirizzo email associato dovrebbero sicuramente essere autorizzati a pubblicare nelle categorie in cui è abilitata lâimpostazione âQuesta categoria rispecchia una mailing listâ.
Sarebbe fantastico se Discourse potesse persuadere/pagare qualcuno del team di Mailman (o qualcuno di simile) per migliorare il modo in cui Discourse gestisce le email.
Abbiamo dei test che assicurano che Discourse possa ricevere email per le categorie di sola lettura che rispecchiano una mailing list:
Per supportare ciò, i post inviati ai mirror di mailing list aggirano alcuni controlli:
def create_post(options = {})
âŚ
if sent_to_mailinglist_mirror?
options[:skip_validations] = true
options[:skip_guardian] = true
else
options[:email_spam] = is_spam?
options[:first_post_checks] = true if is_spam?
options[:email_auth_res_action] = auth_res_action
end
def sent_to_mailinglist_mirror?
@sent_to_mailinglist_mirror ||=
begin
destinations.each do |destination|
return true if destination.is_a?(Category) && destination.mailinglist_mirror?
end
false
end
end
A naso, qualcosa relativo alla tua configurazione potrebbe creare una condizione tale per cui il fatto che si tratti di un mirror di mailing list non venga rilevato? Nota che per aggirare questi controlli, lâemail deve essere inviata allâindirizzo email della categoria e non allâindirizzo reply_by_email_address del sito.
Oh, questo è interessante, e sembra contraddirre la guida pubblicata qui per configurare un mirror di una mailing list:
Iscriviti alla mailing list usando il tuo indirizzo email di Discourse (es.
discourse@example.com).
Ho controllato lâindirizzo email iscritto alle nostre mailing list per conto di Discourse ed è effettivamente discourse@forum.torproject.org.
Dovrei usare un indirizzo email diverso qui? In tal caso, quale?
No, va tutto bene cosĂŹ.
La parte che potresti non aver considerato è questa:
(ricorda che Discourse utilizza solo gli header del messaggio (A/CC) e non conosce lâindirizzo envelope-to)
Per la categoria tor-relays, ho impostato lââIndirizzo email in arrivo personalizzatoâ su tor-relays@lists.torproject.org, che credo corrisponda allâheader To: delle email inviate da Mailman.