shared folders not working with . separator
Christian Kivalo
ml+dovecot at valo.at
Thu Feb 18 07:15:42 UTC 2016
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.
Also scroll down to shared mailbox listing, you should setup a dict so
that dovecot knows which folders are shared.
> 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 { }
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 = </etc/pki/dovecot/certs/dovecot.cert.pem
> ssl_cipher_list = PROFILE=SYSTEM
> ssl_key = </etc/pki/dovecot/private/dovecot.key.pem
> userdb {
> args = uid=vmail gid=vmail home=/var/mail/vhosts/%d/%n
> driver = static
> }
> protocol lmtp {
> mail_plugins = virtual, acl , sieve
> }
> protocol lda {
> mail_plugins = virtual, acl , sieve
> }
> protocol imap {
> mail_plugins = virtual, acl , imap_acl
> }
--
Christian Kivalo
More information about the dovecot
mailing list