Re: Shared Mailboxes with Multiple Domains

2020-02-17 Thread Aki Tuomi
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" 
> To: "Dovecot Mailing List" 
> 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/u...@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 = I

Re: Shared Mailboxes with Multiple Domains

2020-02-17 Thread Daniel Miller

Any thoughts on this?

---
Daniel

-- Original Message --
From: "Daniel Miller" 
To: "Dovecot Mailing List" 
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/u...@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 = 

Shared Mailboxes with Multiple Domains

2020-02-12 Thread Daniel Miller
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/u...@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 ihave duplicate 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/