You’ve done some great research on this! Sorry the behavior is a bit unclear. I did a bit of testing and was able to get this working on my site:
- enable staged users
- create category with custom incoming email address, enable “Accept emails from anonymous users with no accounts” setting
- send an email to the category from an email address not already associated with a user
- see post arrive in the category, staged user is created
- edit staged user’s preferences and change " Send me an email when someone quotes me, replies to my post, mentions my @username, or invites me to a topic" to ALWAYS.
Can you try that on your site? If it doesn’t work, there must be some other admin settings that are different. I am not sure how you can deal with this in production because it’s not possible to set default settings for staged users that are different from default registered users.
FYI, I was in the same situation as you a few years ago, as you can see in the related topics linked below. The tl;dr on this is that staged user functionality is better supported in group PMs than in categories/topics. Staged users are basically just there so staff can engage with people by email in group inboxes, to provide support. This is how the discourse team uses it. Staged users don’t log in so it’s accidental that they even have user preferences at all, and messing with their preferences can have unintended consequences. Meanwhile we want people to create an account and log in to participate in community discussions, so it’s counter productive to add support for staged users to participate in topics. I think it was added for some sites wanting to mirror mailing lists, or wanting to use discourse as an archive for their mailing list.
To be honest, I don’t know if this is a bug and if it is a bug what the fix is. Changing these defaults would work to allow sites like yours to leverage the accidental functionality for your use case:
- staged users watch every message and every topic they are in (like messages)
- staged users have “send me an email when someone quotes me, replies to my post, mentions my @username, or invites me to a topic” set to ALWAYS
Alternatively, we could double down on staged users only being used for messages, not topics, and remove the “accept emails from anonymous users with no accounts” from the category settings. It could be made a hidden setting if it is required by some sites for whatever historical reason, likely related to mailing list mirroring.
Hope this helps move your forward a bit.