Errori Email non spiegati::Receiver::InvalidPost

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.

1 Mi Piace

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.

1 Mi Piace

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.

1 Mi Piace

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

1 Mi Piace

Tuttavia, ho appena esaminato le autorizzazioni configurate sulla categoria e sembra che il nostro gruppo di moderatori sia stato aggiunto, e a everyone siano state concesse le autorizzazioni di reply.

Ho rimosso queste autorizzazioni aggiuntive e ho lasciato solo a everyone l’autorizzazione di see. 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”.

1 Mi Piace

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.

1 Mi Piace

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.

1 Mi Piace

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.

1 Mi Piace