Shared Mailboxes with Multiple Domains

Daniel Miller dmiller at amfes.com
Mon Feb 17 20:37:57 EET 2020


Any thoughts on this?

---
Daniel

------ Original Message ------
From: "Daniel Miller" <dmiller at amfes.com>
To: "Dovecot Mailing List" <dovecot at dovecot.org>
Sent: 2/12/2020 6:16:05 PM
Subject: Shared Mailboxes with Multiple Domains

>Trying to track down a problem I've been dealing with for a while. Everything else works fine - the problem is with shared mailboxes.
>
>My present, and desired, prefix for the shared namespace is:
>   prefix = INBOX/shared/%%d/%%n/
>
>Some mail clients, particularly Thunderbird and Android's AquaMail, have no problem with this. But other (presumably broken) clients don't show the shared mailboxes. This includes EM Client and Webmail Lite. Actually, Webmail Lite lists the mailboxes in the subscription window, but then the "live"folder list shows "shared" and "shared/domain" but none of the shared mailboxes below the domain.
>
>Changing to:
>   prefix = INBOX/shared/%%u/
>
>Works across all clients - but I'd rather have the domain separation. Testing with telnet ". LIST '' '*'" yields the full list with either config.
>
>The files /var/mail/%d/shared-mailboxes contain entries like:
>shared/shared-boxes/group/allshared/user at domain.com
>   1
>
>
>Below is "doveconf -n" output.
>
># 2.3.9.3 (9f41b88fa): /usr/local/etc/dovecot/dovecot.conf
># Pigeonhole version 0.5.9 (db4e9a2f)
># OS: Linux 5.3.0-28-generic x86_64 Ubuntu 18.04.4 LTS
># Hostname: bubba.amfes.lan
>auth_cache_size = 4 k
>auth_master_user_separator = *
>auth_mechanisms = plain login
>auth_policy_hash_nonce = # hidden, use -P to show it
>auth_policy_hash_truncate = 8
>auth_policy_server_api_header = Authorization: Basic d2ZvcmNlOnVsdHJhLXNlY3JldC1zZWN1cmUtc2FmZQ
>default_login_user = nobody
>default_vsz_limit = 2 G
>disable_plaintext_auth = no
>imap_client_workarounds = tb-extra-mailbox-sep
>imap_idle_notify_interval = 29 mins
>listen = *
>login_trusted_networks = 192.168.0.0/24
>mail_attachment_hash = %{sha512}
>mail_plugins = fts fts_solr acl zlib virtual
>mail_prefetch_count = 10
>mail_shared_explicit_inbox = yes
>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 ihaveduplicate mime foreverypart extracttext
>mdbox_rotate_size = 20 M
>namespace archives {
>   list = children
>   location = mdbox:/var/mail/%d/%n/Archives/mdbox
>   mailbox Unsorted {
>     auto = no
>     special_use = \Archive
>   }
>   prefix = INBOX/Archives/
>   separator = /
>   subscriptions = no
>   type = private
>}
>namespace inbox {
>   hidden = no
>   inbox = yes
>   list = yes
>   location =
>   mailbox "Deleted Messages" {
>     auto = no
>     autoexpunge = 30 days
>     special_use = \Trash
>   }
>   mailbox Drafts {
>     auto = subscribe
>     special_use = \Drafts
>   }
>   mailbox Sent {
>     auto = subscribe
>     special_use = \Sent
>   }
>   mailbox "Sent Items" {
>     auto = no
>     special_use = \Sent
>   }
>   mailbox "Sent Messages" {
>     auto = no
>     special_use = \Sent
>   }
>   mailbox Trash {
>     auto = subscribe
>     autoexpunge = 30 days
>     special_use = \Trash
>   }
>   prefix = INBOX/
>   separator = /
>   subscriptions = no
>   type = private
>}
>namespace lists {
>   list = children
>   location = mdbox:/var/mail/%d/%n/Lists/mdbox
>   prefix = INBOX/Lists/
>   separator = /
>   subscriptions = no
>   type = private
>}
>namespace subscriptions {
>   hidden = yes
>   list = no
>   location =
>   prefix =
>   subscriptions = yes
>}
>namespace usershares {
>   list = children
>   location = sdbox:/var/mail/%%d/%%n/sdbox:NO-NOSELECT
>   prefix = INBOX/shared/%%d/%%n/
>   separator = /
>   subscriptions = no
>   type = shared
>}
>namespace virtual {
>   list = children
>   location = virtual:/var/mail/%d/%n/virtual
>   mailbox Flagged {
>     comment = All my flagged messages
>     special_use = \Flagged
>   }
>   prefix = INBOX/virtual/
>   separator = /
>   subscriptions = no
>}
>passdb {
>   args = /usr/local/etc/dovecot/dovecot-sql.conf.ext
>   driver = sql
>}
>plugin {
>   acl = vfile
>   acl_shared_dict = file:/var/mail/%d/shared-mailboxes
>   fts = solr
>   fts_autoindex = yes
>   fts_autoindex_exclude = \Trash
>   fts_autoindex_exclude2 = \Junk
>   fts_autoindex_exclude3 = \Spam
>   fts_enforced = no
>   fts_index_timeout = 20s
>   fts_solr = url=http://127.0.0.1:8983/solr/dovecot/
>   mailbox_alias_new = Sent Messages
>   mailbox_alias_new2 = Sent Items
>   mailbox_alias_new3 = Deleted Messages
>   mailbox_alias_old = Sent
>   mailbox_alias_old2 = Sent
>   mailbox_alias_old3 = Trash
>   sieve = file:~/sieve;active=~/.dovecot.sieve
>}
>protocols = imap lmtp sieve
>service auth {
>   unix_listener /var/spool/postfix/private/auth {
>     group = postfix
>     mode = 0660
>     user = postfix
>   }
>   unix_listener auth-userdb {
>     group = mail
>     mode = 0600
>     user = vmail
>   }
>}
>service dict {
>   unix_listener dict {
>     group = mail
>     mode = 0660
>     user = vmail
>   }
>}
>service imap-login {
>   process_min_avail = 10
>   service_count = 1
>}
>service imap-postlogin {
>   executable = script-login /usr/local/etc/dovecot/post-login.sh
>   user = $default_internal_user
>}
>service imap {
>   executable = imap imap-postlogin
>   vsz_limit = 4 G
>}
>service indexer-worker {
>   process_limit = 3
>}
>service lmtp {
>   process_min_avail = 5
>   unix_listener /var/spool/postfix/private/dovecot-lmtp {
>     group = mail
>     mode = 0666
>     user = vmail
>   }
>}
>service managesieve-login {
>   inet_listener sieve {
>     port = 4190
>   }
>   inet_listener sieve_deprecated {
>     port = 2000
>   }
>   process_min_avail = 0
>   service_count = 1
>}
>ssl_cert = </etc/ssl/letsencrypt/live/mail.amfes.com/fullchain.pem
>ssl_dh = # hidden, use -P to show it
>ssl_key = # hidden, use -P to show it
>userdb {
>   driver = prefetch
>}
>userdb {
>   args = /usr/local/etc/dovecot/dovecot-sql.conf.ext
>   driver = sql
>}
>verbose_proctitle = yes
>protocol lmtp {
>   mail_plugins = fts fts_solr acl zlib virtual sieve
>   postmaster_address = postmaster at amfes.com
>}
>protocol lda {
>   mail_plugins = fts fts_solr acl zlib virtual sieve
>}
>protocol imap {
>   mail_max_userip_connections = 50
>   mail_plugins = fts fts_solr acl zlib virtual imap_acl imap_zlib mailbox_alias
>}
>
>
>-- Daniel
>
>



More information about the dovecot mailing list