Unerklärliche E-Mail::Empfänger::UngültigePost-Fehler

Ähnlich wie bei Mirrored mailing list is rejecting registered forum users

Es scheint nicht so zu sein. Das referenzierte Thema scheint ein Berechtigungsproblem zu sein, das durch eine falsche Konfiguration verursacht wird.

1 „Gefällt mir“

Entschuldigung, ich bitte um Verzeihung für die Störung.

Ich habe einen Fix für das Problem vorgeschlagen, das ich gefunden habe, aber nach allem, was ich bisher gefunden habe, wirkt sich die Komponente, die die Verfälschung vorgenommen hat, nur auf den gespeicherten Datensatz aus und nicht auf die eingehende E-Mail während der Verarbeitung.

Ich bin ziemlich zuversichtlich, dass die Ursache des Problems etwas anderes sein muss, aber ich weiß noch nicht, was es sein könnte.

1 „Gefällt mir“

Da diese Änderung zusammengeführt wurde, habe ich unsere Discourse-Instanz heute aktualisiert und werde die Protokolle für abgelehnte E-Mails in den kommenden Tagen im Auge behalten.

1 „Gefällt mir“

Seit dem Upgrade wurden bereits drei neue InvalidPost-Fehler protokolliert, aber die Ablehnungsdetails sind unterschiedlich: Alle drei Fehler zeigen den korrekten Nachrichtentext (wobei zuvor die Signatur der Mailingliste angezeigt wurde) und der Ablehnungsgrund lautet nun Access Denied.

Das ist zumindest eine Verbesserung.

Bleibt der Grund für den Fehler beim Benutzer hängen?

Sind Sie sicher, dass der Fehler falsch ist? Hat der Benutzer die Berechtigung, in der Kategorie zu posten? Ist der Benutzer aktiv?

Aus dem Handgelenk scheint der Grund nicht zu greifen: das Konto ist aktiv, weder gesperrt noch stummgeschaltet. Allerdings habe ich bemerkt, dass das Konto nicht „staged“ ist, was bei den meisten Konten der Fall ist, deren Mailinglisten-Beiträge in Discourse landen. Alle Beiträge von nicht-gestagten Benutzern stammen von Mitgliedern des Moderationsteams.

Unsere Mailinglisten-Spiegelkategorie wurde ursprünglich mit dieser Anleitung eingerichtet: Mirroring a read-only mailing list in Discourse

Ich habe jedoch gerade die konfigurierten Berechtigungen für die Kategorie überprüft, und es scheint, dass unsere Moderatorengruppe hinzugefügt wurde und `everyone` (jeder) die Berechtigung `reply` (antworten) erhalten hat.

Ich habe diese zusätzlichen Berechtigungen entfernt und nur `everyone` (jeder) die Berechtigung `see` (sehen) belassen. Vielleicht stören diese „zusätzlichen“ Berechtigungen die Art und Weise, wie Discourse diese speziellen „Mailinglisten-Spiegel“-Kategorien behandelt?

Die Tatsache, dass der Benutzer nicht als „gestaged“ (vorbereitet) markiert ist, könnte das Problem sein. „Staged“-Benutzer werden nicht daraufhin überprüft, ob sie die Berechtigung haben, in der Kategorie zu posten, registrierte Benutzer jedoch schon. Wenn der Benutzer also keiner Gruppe angehört, die die Berechtigung zum Antworten auf Themen in der Kategorie hat, wird seine Antwort abgelehnt, da ihm die Berechtigung fehlt. Dasselbe gilt für neue Themen und die „Erstellen“-Berechtigung.

Es gibt hier ein Thema zu diesem Problem: Category not accepting "anonymous email" from known users

1 „Gefällt mir“

Allerdings habe ich gerade die konfigurierten Berechtigungen für die Kategorie überprüft, und es scheint, dass unsere Moderatorengruppe hinzugefügt wurde und everyone die Berechtigung reply erhalten hat.

Ich habe diese zusätzlichen Berechtigungen entfernt und nur everyone die Berechtigung see belassen. Vielleicht stören diese „zusätzlichen“ Berechtigungen die Art und Weise, wie Discourse diese speziellen „Mailinglisten-Spiegel“-Kategorien behandelt?

Eigentlich, streichen Sie das, ich muss mir eine andere Kategorie angesehen haben, denn die Berechtigungen für die Mailinglisten-Spiegelkategorie sind wie erwartet: nur everyone hat die Berechtigung see. Dennoch bleibt meine Beobachtung, dass Beiträge von Nicht-Moderatoren und Nicht-Staging-Benutzern durchweg abgelehnt zu werden scheinen.

Diese Erklärung ergibt angesichts dessen, was ich sehe, definitiv Sinn, aber wenn dies der Fall ist, ist es definitiv ein unerwartetes und verwirrendes Verhalten: Absender, die in die gespiegelte Mailingliste posten, aber zufällig bereits ein Konto bei Discourse mit der zugehörigen E-Mail-Adresse haben, sollten definitiv in der Lage sein, in Kategorien zu posten, bei denen die Einstellung „Diese Kategorie spiegelt eine Mailingliste wider“ aktiviert ist.

1 „Gefällt mir“

Was großartig wäre, wenn Discourse jemanden aus dem Mailman-Team (oder einen ähnlichen Entwickler) überzeugen/bezahlen könnte, um zu verbessern, wie Discourse E-Mails versendet.

1 „Gefällt mir“

Wir haben Tests, die sicherstellen, dass Discourse E-Mails für schreibgeschützte Kategorien empfangen kann, die eine Mailingliste spiegeln:

Um dies zu unterstützen, werden Beiträge, die an Mailinglisten-Spiegel gesendet werden, einigen Prüfungen umgangen:

    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

Ich vermute, dass etwas in Ihrer Einrichtung die Bedingung schafft, dass die Tatsache, dass es sich um einen Mailinglisten-Spiegel handelt, nicht erkannt wird? Beachten Sie, dass die E-Mail an die Kategorie-E-Mail-Adresse und nicht an die reply_by_email_address der Seite gesendet werden muss, um diese Prüfungen zu umgehen.

1 „Gefällt mir“

Oh, das ist interessant und scheint den Anweisungen hier zum Einrichten eines Mailinglisten-Spiegels zu widersprechen:

Abonnieren Sie die Mailingliste mit Ihrer Discourse-E-Mail-Adresse (z. B. discourse@example.com).

Ich habe überprüft, dass die E-Mail-Adresse, die im Namen von Discourse für unsere Mailinglisten abonniert ist, tatsächlich discourse@forum.torproject.org lautet.

Sollte ich hier eine andere E-Mail-Adresse verwenden? Wenn ja, welche?

Nein, das ist alles in Ordnung.

Der Teil, den Sie möglicherweise übersehen, ist dieser hier:

(denken Sie daran, dass Discourse nur die Nachrichten-Header (An/CC) verwendet und die Envelope-To-Adresse nicht kennt)

[quote=“supermathie, post:36, topic:377793”]Das Teil, das dir fehlen könnte, ist dieses hier:

[quote=“Discourse, post:1, topic:77990”]Setze „Benutzerdefinierte eingehende E-Mail-Adresse“ auf die E-Mail-Adresse der Mailingliste (z. B. mailing-list@foo.test)

[/quote]

(denke daran, dass Discourse nur die Nachrichten-Header (An/CC) verwendet und die Envelope-To-Adresse nicht kennt)

[/quote]

Für die Kategorie „tor-relays“ habe ich „Benutzerdefinierte eingehende E-Mail-Adresse“ auf tor-relays@lists.torproject.org gesetzt, was meiner Meinung nach dem An:-Header der von Mailman versendeten Mails entspricht.

1 „Gefällt mir“