Users report that Discourse automatically sends emails when suspending, silencing, or unsuspending users, despite the UI implying this only occurs if a custom message is provided. j127 identifies this as a bug, noting that these automatic notifications are undesirable for permanent bans where administrators wish to avoid reminding users of the site’s existence.
awesomerobot clarifies that this behavior is an intentional change related to the Digital Services Act (DSA), specifically Article 17, which requires providing a statement of reasons to suspended users in the EU. While Dylan_Michael questions whether on-site notifications suffice, awesomerobot maintains that email should remain the default to ensure compliance, suggesting exceptions only for spam or bot accounts.
j127 argues that on-site notifications should meet legal requirements and requests either a core update to disable these emails by default or a stable API hook to allow plugins to suppress specific notification types. They also note the lack of official hooks currently forces reliance on unstable workarounds or manual Sidekiq job cancellation. Ed_S adds that DSA Article 17 likely does not apply to suspensions for spam or antisocial behavior, suggesting the law should not be interpreted more broadly than necessary.
The UI makes it seem like it isn’t going to email a user when you suspend them unless you fill out this bottom section — it only says that it will show them text when they try to log in:
But when I was testing something with a test account I noticed that it did send an email notifying the user of the suspension. It also sent an email when I silenced the test user. It sends the emails immediately, so there isn’t even time to go into sidekiq to stop it.
A reason why I don’t want it to send emails to those people is because I don’t want to remind them that the site exists. (All suspensions are permanent unless they want to appeal them by email.)
Edit: After posting this, I saw that I got another email when I unsuspended the test account. I don’t think it should send an email for that either, unless an admin checks a box, because the user might not know that they were suspended or silenced by the system.
Is it possible to change it so that it doesn’t send emails by default, but put a checkbox there saying “send the user an email”? The UI and the documentation in the forum currently say that suspensions and silencing won’t send emails unless the bottom textarea is filled out.
If it automatically sends emails, I won’t be able to use the UI to suspend or silence users but will have to log in over ssh to do it in the Rails console or find another method to do it that doesn’t send emails.
I never send emails for those kinds of moderation decisions, because it would be remind undesirable users that the forum exists, and I just want them to disappear. If they return to the forum, they will see the moderation reason, but most of them won’t return.
We don’t have temporary suspensions or silencing — it’s always permanent. I give the users several warnings to reform themselves, but if they can’t do that, then they get suspended and can appeal it by email.
A coding agent said that it could write a plug-in to suppress those emails, but that there’s no official hook to block those emails. An update to core in the future might break the plug-in.
If the reasons for not wanting to send those emails aren’t understandable, I could post example scenarios.
Yes, it’s possible. We’re working through making it possible to use Discourse in a DSA complaint way so we will have more updates and the feedback helps.
Keep in mind though, that if your forum is operated from or has users in the EU, the Digital Services Act (Article 17) requires you to give suspended or silenced users a statement of reasons.
Since it’s hard to know where any given user is, I’d keep the email as the default and only skip it for spam/bot accounts, which the DSA exempts.
I don’t see a requirement in article 17 for moderation reasons to be sent by email, if a user can see those posted at the site if they attempt to login when suspended or can still login when silenced wouldn’t that meet the requirement?
Thanks for the explanation. I hadn’t heard of the Digital Services Act.
I’m confused about the law. Gmail is a website; my forum is a website. Why would visiting gmail.com to view messages be considered “notification” but visiting the messaging system on my site to view notifications not be considered “notification”? It seems like that would give unfair preference to big tech companies. If I make them go to Google for notification in addition to notifying them on my website through my own messaging system, I would be giving them double-notification.
I always show a reason, so they will see it when they come to check what messages they have received on the forum. People can always appeal moderation decisions by emailing us. Real humans answer the emails, and the contact link is available in the dropdown menu.
I’d prefer to leave those emails off by default until they clarify the law. I don’t want anyone to ever receive emails when they are manually suspended, silenced, unsuspended, or unsilenced unless I fill out the email textarea.
If you aren’t able to modify Discourse to turn off those emails by default, could you make a stable API that a plugin could hook into to prevent certain notifications? (if it doesn’t already exist — Claude couldn’t find one)
Some kind of hook for that would also be useful for me to be able to write a plugin that prevents emails being sent out when a post in moderation is approved. I never want to send those either, so I always have to go in to sidekiq to manually cancel those jobs. Otherwise the email reminds the user that it took hours to approve their posts and in the meantime they might be feeling bad about it. I was going to have Claude write a plugin, but it said that it would be patching core functionality, and the plugin might break on an update, meaning that I probably still would have to go check Sidekiq each time I approve a post to make sure that the email jobs aren’t being queued.
Only if the reasons are for illegal content or acting against terms and conditions. But, not if the reason is spam. Or if the reason is an official (government) demand.
So, let’s not give this kind of law more reach than it already has. Silencing or suspending because of antisocial behaviour or spam should not be covered.
(This is an argument for arranging that terms and conditions don’t disallow antisocial behaviour)