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
>>
>>
>