Dovecot 2.4: shared mailboxes not working - maybe related to mail_path

Markus Schönhaber via dovecot <[email protected]>
Newsgroups gmane.mail.imap.dovecot
Message-ID <[email protected]>
Hi,

I've had a hard time trying to upgrade my dovecot 2.3 setup to v. 2.4
(debian 13, Dovecot installed from repo.dovecot.org). One thing I still
haven't got to work is mailbox sharing.

I have configured this (full doveconf -n output attached):

mail_driver = mdbox
mail_home = /var/spool/vmail/home/%{user | domain}/%{user | username}
mail_path = /var/spool/vmail/mail/%{user | domain}/%{user | username}
mail_plugins = quota acl

namespace inbox {
  inbox = yes
  separator = /
}

namespace shared {
  mail_home = /var/spool/vmail/home/%{owner_domain}/%{owner_username}
  list = children
  prefix = shared/$domain/$username/
  separator = /
  subscriptions = no
  type = shared
}

acl_driver = vfile

mail_plugins {
  acl = yes
}

protocol imap {
  mail_plugins {
    imap_acl = yes
  }
}

acl_sharing_map {
  dict file {
    path = /var/spool/vmail/home/shared-mailboxes
  }
}

Now, given two users:
1: [email protected]
2: [email protected]
User 1 wants to share his mailbox "4you" to user 2 by setting these acls:

> # doveadm acl add -u [email protected] 4you [email protected] lookup read write-seen

But the shared mailbox isn't visible for user 2 (in fact, not even the
namespace is, since list = children). acl debug shows this:

> # doveadm acl debug -u [email protected] shared/example.com/sharing-user/4you
> doveadm([email protected]): Error: Mailbox shared/example.com/sharing-user/4you: Mailbox '4you' in namespace shared doesn't exist in /var/spool/vmail/mail/example.net/sharing-client/mailboxes/4you/dbox-Mails

So the shared mailbox is looked for in user 2's mail_path, not in user
1's, who shares it and where the mailbox actually resides.

So, I tried and set
mail_path = /var/spool/vmail/path/%{owner_domain}/%{owner_username}
for the shared namespace. This does not only seem reasonable but also is
mentioned in the second config example here:
https://doc.dovecot.org/2.4.4/core/config/shared_mailboxes.html#user-shared-mailboxes
But that doesn't help. Instead I get:

> # doveadm acl debug -u [email protected] shared/example.com/sharing-user/4you
> doveadm([email protected]): Error: Namespace shared: mail_storage settings: Failed to parse configuration: Failed to expand mail_path setting variables: Unknown variable 'owner_domain'
> doveadm([email protected]): Error: Namespace shared: mail_storage settings: Failed to parse configuration: Failed to expand mail_path setting variables: Unknown variable 'owner_domain'
> doveadm([email protected]): Error: Namespace shared: mail_storage settings: Failed to parse configuration: Failed to expand mail_path setting variables: Unknown variable 'owner_domain'
> doveadm([email protected]): Error: Mailbox shared/example.com/sharing-user/4you: Can't open mailbox shared/example.com/sharing-user/4you: Internal error occurred. Refer to server log for more information. [2026-08-20 14:53:40]

Swapping %{owner_domain} and %{owner_username} in the config above, I
get Unknown variable 'owner_username' as error.

If I set
mail_path = /var/spool/vmail/mail/example.com/sharing-user
i. e. I hard-code the sharing user's mail_path, sharing works for this
particular user. But that won't help if a second user wants to share
mailboxes too.

> # doveadm acl debug -u [email protected] shared/example.com/sharing-user/4you
> doveadm([email protected]): Info: Mailbox shared/example.com/sharing-user/4you: Mailbox '4you' is in namespace shared
> doveadm([email protected]): Info: Mailbox shared/example.com/sharing-user/4you: Mailbox path: /var/spool/vmail/mail/example.com/sharing-user/mailboxes/4you/dbox-Mails
> doveadm([email protected]): Info: Mailbox shared/example.com/sharing-user/4you: All message flags are shared across users in mailbox
> doveadm([email protected]): Info: Mailbox shared/example.com/sharing-user/4you: User [email protected] has rights: lookup read write-seen
> doveadm([email protected]): Info: Mailbox shared/example.com/sharing-user/4you: Mailbox found from dovecot-acl-list
> doveadm([email protected]): Info: Mailbox shared/example.com/sharing-user/4you: User [email protected] found from ACL shared dict
> doveadm([email protected]): Info: Mailbox shared/example.com/sharing-user/4you: Mailbox shared/example.com/sharing-user/4you is visible in LIST

What am I doing wrong? How to do ist right?

-- 
Regards
  mks

_______________________________________________
dovecot mailing list -- [email protected]
To unsubscribe send an email to [email protected]
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.