Situation
reply_by_email_enableddésactivé, nous ne voulons pas que les gens répondent par e-mail- une catégorie réservée aux administrateurs pour les notifications provenant d’un système externe
- la catégorie a une adresse e-mail configurée
email_inest activé- des e-mails sont envoyés à l’adresse e-mail de la catégorie
- les e-mails sont rejetés avec
BadDestinationAddress
La cause
Après une heure de débogage, je suis tombé sur le commit suivant : FIX: Disallow replies to categories when reply by email disabled (#33… · discourse/discourse@e05ef50 · GitHub
FIX: Interdire les réponses aux catégories lorsque la réponse par e-mail est désactivée (#33641)
Lorsque le paramètre
reply_by_email_enabledest défini surfalse, nous n’incluons plus de lien de réponse dans les notifications par e-mail. Cependant, nous n’empêchons pas les e-mails réels envoyés à une adresseemail_inconfigurée associée à une catégorie. Ce changement prend en considération le paramètre dansEmail::Receiver#check_address.
et le code affecté ne retournera plus de catégorie si reply_by_email_enabled n’est pas activé.
def self.check_address(address, include_verp = false)
# ne vérifier le groupe/catégorie que si 'email_in' est activé
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? # <-- ajouté
end
Pourquoi ? 
J’ai tellement de questions :
- pourquoi ce changement ? Du tout ? Cela ne fait que rendre le système plus rigide. Si je ne veux pas que les gens envoient un e-mail à une catégorie, il suffit de supprimer l’adresse e-mail de la catégorie ?
- pourquoi est-ce implémenté de cette façon ?
- apparemment, l’envoi d’e-mails aux groupes n’est pas un problème ?
- si
reply_by_email_enabledest faux, il n’est pas nécessaire d’itérer sur les catégories ? - en supprimant la catégorie de la liste des catégories, l’erreur devient
BadDestinationAddress, ce qui est TRÈS faux et VRAIMENT difficile à déboguer
- le paramètre dont cela dépend soudainement s’appelle réponse par e-mail. Ce n’est pas ce que je fais.
Outre la manière dont cela a été implémenté, je ne vois honnêtement pas l’intérêt.
Je ne peux imaginer AUCUNE situation où le simple fait de supprimer l’adresse e-mail de la catégorie suffirait si l’on veut empêcher les gens d’envoyer des e-mails à une catégorie. Et l’implication est qu’il est désormais impossible d’avoir une catégorie qui reçoit des e-mails sans activer la réponse par e-mail à l’échelle du site.
S’il y a une très bonne raison que je manque, n’hésitez pas à reclasser ceci en Feature