On 2016-02-17 18:23, Hugh Bragg wrote:
Hi,
I've been trying this for weeks and never managed to get my mail client to see shared folders. Apparently imap_acl works fine as I can see these entries in the dovecot-acl-list files and the correct entries persist in the client. This is my first dovecot setup so I hope I've configured it right. Everything else works beautifully, thanks. What client do you use?
Are there folders shared from user1 to user2?
what does dovecadm acl get -u <user> -m shared.<user>.mailbox show?
doveadm debug -u user2 -m shared.<user1>.mailbox
Whats in your logs? Enable debug log and look for errors.
# dovecot -n # 2.2.21 (5345f22): /etc/dovecot/dovecot.conf # Pigeonhole version 0.4.11 (6ddf62b87f60+) # OS: Linux 4.3.5-300.fc23.x86_64 x86_64 Fedora release 23 (Twenty Three) auth_mechanisms = plain login auth_socket_path = /var/run/dovecot/auth-userdb imap_client_workarounds = tb-extra-mailbox-sep listen = * log_path = /var/log/dovecot.log mail_access_groups = mail, vmail mail_home = /var/mail/vmail/%d/%n mail_location = maildir:~/mail mail_plugins = virtual, acl managesieve_notify_capability = mailto managesieve_sieve_capability = fileinto reject envelope encoded-character vacation subaddress comparator-i;ascii-numeric relational regex imap4flags copy include variables body enotify environment mailbox date index ihave duplicate mime foreverypart mbox_write_locks = fcntl namespace { location = virtual:/var/mail/vhosts/%d/%n/virtual prefix = virtual. separator = . } namespace { list = children location = maildir:/var/mail/vhosts/%%d/%%n/mail:INDEX=/var/mail/vhosts/%d/%n/shared/%%u:CONTROL=/var/mail/vhosts/%d/%n/shared/%%u prefix = shared.%%u. separator = . subscriptions = yes type = shared }
According to http://wiki2.dovecot.org/SharedMailboxes/Shared the "list = Children" hides the namespace from the imap list command, if there is no folder shared to the user. Try to set list = yes that should show the shared namespace in the imap list.
namespace inbox { inbox = yes location = mailbox Drafts { special_use = \Drafts } mailbox Junk { special_use = \Junk } mailbox Sent { special_use = \Sent } mailbox "Sent Messages" { special_use = \Sent } mailbox Trash { special_use = \Trash } mailbox virtual/All { comment = All my messages special_use = \All } mailbox virtual/Flagged { comment = All my flagged messages special_use = \Flagged } I have my virtual mailboxes configuration in the virtual namespace { }
Also scroll down to shared mailbox listing, you should setup a dict so that dovecot knows which folders are shared. section, not in the general inbox namespace.
prefix = } passdb { args = scheme=PLAIN username_format=%u /etc/dovecot/dovecot-users driver = passwd-file } plugin { acl = vfile acl_shared_dict = file:/var/mail/vhosts/shared-mailboxes.db sieve = ~/.dovecot.sieve sieve_dir = ~/sieve sieve_global_dir = /var/mail/vhosts/sieve-global } protocols = imap lmtp sieve service auth-worker { user = vmail } service auth { unix_listener /var/spool/postfix/private/auth { group = postfix mode = 0660 user = postfix } unix_listener auth-userdb { group = vmail mode = 0660 user = vmail } } service imap-login { inet_listener imap { port = 143 } inet_listener imaps { port = 0 ssl = yes } } service lmtp { unix_listener /var/spool/postfix/private/dovecot-lmtp { group = postfix mode = 0600 user = postfix } } service managesieve-login { inet_listener sieve { port = 4190 } } service pop3-login { inet_listener pop3 { port = 0 } inet_listener pop3s { port = 0 } } ssl = required ssl_cert =
-- Christian Kivalo