On Special:EmailUser, if a user is partially blocked and blocked from email, they see a custom block error message:
If a user is sitewide blocked and blocked from email, they see the error message with the key 'blockedtext'. This is not customized for email and is not designed to work with different types of block (e.g. system block, composite block, autoblock), resulting in problems like those discussed in T227174#5575175. For example:
The problem is that SpecialEmailUser selects its block message key directly, whereas other places throw a UserBlockedError, which gets the message via the BlockErrorFormatter, which selects the appropriate message depending on the block.
We could simply throw a UserBlockedError from Special:EmailUser. This would immediately improve the block messages for all types of sitewide blocks. For partial blocks, we would need to solve T233206 first, to avoid a confusing message.