Shared Mailboxes with Multiple Domains

Aki Tuomi aki.tuomi at open-xchange.com
Tue Feb 18 09:57:56 EET 2020


This does seem more like a client-issue. At least thunderbird has this
issue that you need to fold/unfold folders to see more folders.

Aki

On 17.2.2020 20.37, Daniel Miller wrote:
> 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