What companies and other large orgs (>1000 users) need are “delegated accounts”, which is either a functional account like info@ or another user like jane@ . john@ wants to give jane@ complete access to all his mail, calendar and address books, and even send-as. John can choose whether the access is read-only or wants Jane to be able to change his calendar, delete spam and mark mails as read. In some cases, e.g. if Jane is John’s assistant, he wants Jane to be able to send mail as John. When John grants Jane access to his mail, he means all his mail - all folders, including folders that will be created later, by either John or Jane. This is called “delegated accounts”.
It’s different from “John gives Jane access to this specific mail folder only”, which is what RFC 9670 seems to be doing. (The spec is very vague and unclear, and in some cases even contracticts itself, so it’s hard to tell definitely.) In any case, only the latter seems to be implemented in Stalwart. John can give Jane access to his mail folders, but has to do it for every folder individually, and most importantly, it won’t apply to folders that John or Jane create later.
There is also no way in JMAP protocol for John himself (not a server or domain admin) to allow Jane to send mail on his behalf as John. There simply isn’t any defined JMAP function for it.
RFC 9670 vaguely says that “Managing … Principals … is out of scope” and leaves it up to the domain admin to set up “groups” for departments and add users to these groups, and then set up such a group as the owner of an account. That might work for functional accounts like info@ or de.sales@ , which are explicitly created by admins. However, if fails in 2 cases:
- When a John wants to give Jane access
- On small domains where users want to self-manage the accounts and not involve an server admin
This is a real gap. EWS can do delegation, and it’s done by the users in the email app. John can go to a specific email app dialog, enter Jane, give her access to his mail, calendar and addressbook, and decide the access level (read, write, crate etc.) and then Jane can go to a similar dialog in her email app, add John, and she can use John’s accounts as if they were her own. She can even send mail on his behalf. There is no administrator involved at all. (Or at least not required. Of course, admins can preconfigure these delegations as well.) I can state this with confidence, because Parula implements this for EWS and other protocols. In JMAP with Stalwart, that seems impossible.