Situation
reply_by_email_enableddeaktiviert, wir wollen nicht, dass Leute per E-Mail antworten- eine nur für Admins bestimmte Kategorie für Benachrichtigungen von einem externen System
- die Kategorie hat eine E-Mail-Adresse eingerichtet
email_inist aktiviert- E-Mails werden an die E-Mail-Adresse der Kategorie gesendet
- E-Mails werden mit
BadDestinationAddresszurückgewiesen (bouncen)
Die Ursache
Nach einer Stunde Debugging stieß ich auf den folgenden Commit: FIX: Disallow replies to categories when reply by email disabled (#33… · discourse/discourse@e05ef50 · GitHub
FIX: Antworten auf Kategorien deaktivieren, wenn das Antworten per E-Mail deaktiviert ist (#33641)
Wenn die Einstellung
reply_by_email_enabledauf false gesetzt ist, fügen wir keinen Antwortlink mehr in E-Mail-Benachrichtigungen ein. Wir verhindern jedoch nicht, dass tatsächliche E-Mails an eine konfigurierteemail_in-Adresse gesendet werden, die mit einer Kategorie verknüpft ist. Diese Änderung berücksichtigt die Einstellung inEmail::Receiver#check_address.
und der betroffene Code gibt keine Kategorie mehr zurück, wenn reply_by_email_enabled nicht aktiviert ist.
def self.check_address(address, include_verp = false)
# nur nach einer Gruppe/Kategorie suchen, wenn 'email_in' aktiviert ist
if SiteSetting.email_in
group = Group.find_by_email(address)
return group if group
category = Category.find_by_email(address)
return category if category && SiteSetting.reply_by_email_enabled? #<-- hinzugefügt
end
Warum? 
Ich habe so viele Fragen:
- Warum diese Änderung? Überhaupt? Das macht das System nur unflexibler. Wenn ich nicht möchte, dass Leute E-Mails an eine Kategorie senden, würde ich einfach die E-Mail-Adresse aus der Kategorie entfernen?
- Warum wird das auf diese Weise implementiert?
- Anscheinend ist das E-Mail-Eingang für Gruppen kein Problem?
- Wenn
reply_by_email_enabledfalse ist, muss dann nicht durch die Kategorien iteriert werden? - Durch das Entfernen der Kategorie aus der Liste der Kategorien wird der Fehler zu
BadDestinationAddress, was SEHR falsch und WIRKLICH schwer zu debuggen ist
- Die Einstellung, von der dies nun plötzlich abhängt, heißt Antworten per E-Mail. Das ist nicht das, was ich tue.
Abgesehen von der Art und Weise, wie dies implementiert wurde, sehe ich ehrlich gesagt keinen Sinn darin.
Mir fällt KEINE Situation ein, in der das einfache Entfernen der E-Mail-Adresse aus der Kategorie die Aufgabe erfüllen würde, wenn man verhindern möchte, dass Leute an eine Kategorie E-Mails senden. Und die Auswirkung davon ist, dass es nun unmöglich geworden ist, eine Kategorie zu haben, die E-Mails empfängt, ohne das standortweite Antworten per E-Mail zu aktivieren.
Wenn es einen wirklich guten Grund gibt, den ich übersehe, können Sie dies gerne als Feature neu kategorisieren.