Issue with virtual folder: partially see them and cannot subscribe

Aki Tuomi aki.tuomi at dovecot.fi
Fri May 26 14:02:10 EEST 2017


Also, thunderbird has a bug in subscription dialog that you need to
collapse and expand the levels to see more levels. Can you check your
subscriptions file that it gets added something?

Aki


On 26.05.2017 13:58, dovecot at avv.solutions wrote:
> Hello Aki,
>
> Thank you for getting back.
>
> I tried your suggestion, but nope...
>
> I also checked the perms on dirss/files to be vmail rw(x)------ ; yet
> does not changed the beahaviour :(
>
> On 05/26/2017 12:29 PM, Aki Tuomi wrote:
>> You probably want to set subscriptions=no, so they will be done in the
>> parent namespace instead.
>>
>> Aki
>>
>>
>> On 26.05.2017 13:22, dovecot at avv.solutions wrote:
>>> Hello Community,
>>>
>>> I am trying to figure out hwo to use the virtual mailboxes, but remain
>>> a bit confused:
>>>
>>> - I see the Virtual speudo-folder
>>> - Eventuelly the name of the boxes underneath
>>> - But cannot see more, nor subscrie to the virtual mailboxes
>>>
>>> Dovecot:
>>>
>>> # 2.2.29.1 (e0b76e3): /usr/local/etc/dovecot/dovecot.conf
>>> # Pigeonhole version 0.4.18 (29cc74d)
>>> # OS: Linux 4.4.50-v7+ armv7l Debian 8.0 ext4
>>> auth_mechanisms = plain login
>>> log_path = /dev/stderr
>>> mail_attribute_dict =
>>> file:/sd/MAIL_IMAP_POP/%d/%n/Maildir/dovecot-attributes
>>> mail_debug = yes
>>> mail_gid = vmail
>>> mail_location = maildir:/sd/MAIL_IMAP_POP/%d/%n/Maildir:LAYOUT=fs
>>> mail_plugins = " virtual mail_crypt"
>>> mail_uid = vmail
>>> 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
>>> namespace {
>>>    inbox = yes
>>>    location =   mailbox {
>>>      special_use = \Drafts
>>>      name = Drafts
>>>    }
>>>    mailbox {
>>>      special_use = \Junk
>>>      name = Junk
>>>    }
>>>    mailbox {
>>>      special_use = \Sent
>>>      name = Sent
>>>    }
>>>    mailbox {
>>>      special_use = \Sent
>>>      name = Sent Messages
>>>    }
>>>    mailbox {
>>>      special_use = \Trash
>>>      name = Trash
>>>    }
>>>    prefix =   name = inbox
>>> }
>>> namespace {
>>>    hidden = no
>>>    list = yes
>>>    location = virtual:/sd/MAIL_IMAP_POP/%%d/%%n/Virtual
>>>    prefix = Virtual/
>>>    separator = /
>>>    subscriptions = yes
>>>    type = private
>>>    name = virtual
>>> }
>>> passdb {
>>>    args = /etc/dovecot/dovecot-sql.conf.ext
>>>    driver = sql
>>> }
>>> plugin {
>>>    mail_crypt_curve = secp521r1
>>>    mail_crypt_save_version = 2
>>>    sieve =
>>> file:/sd/MAIL_IMAP_POP/%d/%n/Sieve;active=/sd/MAIL_IMAP_POP/%d/%n/Sieve.active
>>>
>>> }
>>> service replication-notify-fifo {
>>>    name = aggregator
>>> }
>>> service anvil-auth-penalty {
>>>    name = anvil
>>> }
>>> service auth-worker {
>>>    user = vmail
>>>    name = auth-worker
>>> }
>>> service {
>>>    unix_listener {
>>>      group = postfix
>>>      mode = 0666
>>>      user = postfix
>>>      path = /var/spool/postfix/private/auth
>>>    }
>>>    unix_listener {
>>>      mode = 0600
>>>      user = vmail
>>>      path = auth-userdb
>>>    }
>>>    user = dovecot
>>>    name = auth
>>> }
>>> service config {
>>>    name = config
>>> }
>>> service dict-async {
>>>    name = dict-async
>>> }
>>> service dict {
>>>    name = dict
>>> }
>>> service login/proxy-notify {
>>>    name = director
>>> }
>>> service dns-client {
>>>    name = dns_client
>>> }
>>> service doveadm-server {
>>>    name = doveadm
>>> }
>>> service imap-hibernate {
>>>    name = imap-hibernate
>>> }
>>> service {
>>>    inet_listener {
>>>      port = 143
>>>      name = imap
>>>    }
>>>    inet_listener {
>>>      port = 993
>>>      ssl = yes
>>>      name = imaps
>>>    }
>>>    name = imap-login
>>> }
>>> service imap-urlauth {
>>>    name = imap-urlauth-login
>>> }
>>> service imap-urlauth-worker {
>>>    name = imap-urlauth-worker
>>> }
>>> service token-login/imap-urlauth {
>>>    name = imap-urlauth
>>> }
>>> service imap-master {
>>>    name = imap
>>> }
>>> service indexer-worker {
>>>    name = indexer-worker
>>> }
>>> service indexer {
>>>    name = indexer
>>> }
>>> service ipc {
>>>    name = ipc
>>> }
>>> service {
>>>    unix_listener {
>>>      group = postfix
>>>      mode = 0600
>>>      user = postfix
>>>      path = /var/spool/postfix/private/dovecot-lmtp
>>>    }
>>>    name = lmtp
>>> }
>>> service log-errors {
>>>    name = log
>>> }
>>> service sieve {
>>>    name = managesieve-login
>>> }
>>> service login/sieve {
>>>    name = managesieve
>>> }
>>> service {
>>>    inet_listener {
>>>      port = 110
>>>      name = pop3
>>>    }
>>>    inet_listener {
>>>      port = 995
>>>      ssl = yes
>>>      name = pop3s
>>>    }
>>>    name = pop3-login
>>> }
>>> service login/pop3 {
>>>    name = pop3
>>> }
>>> service replicator-doveadm {
>>>    name = replicator
>>> }
>>> service login/ssl-params {
>>>    name = ssl-params
>>> }
>>> service stats-mail {
>>>    name = stats
>>> }
>>> ssl = required
>>> ssl_cert = </sd/MAIL_IMAP_POP/_ssl/pi3tv.local.avv_server.crt
>>> ssl_key =  # hidden, use -P to show it
>>> userdb {
>>>    args = /etc/dovecot/dovecot-sql.conf.ext
>>>    driver = sql
>>> }
>>> protocol lmtp {
>>>    mail_plugins = " virtual mail_crypt sieve"
>>>    service replication-notify-fifo {
>>>      name = aggregator
>>>    }
>>>    service anvil-auth-penalty {
>>>      name = anvil
>>>    }
>>>    service auth-worker {
>>>      name = auth-worker
>>>    }
>>>    service auth-client {
>>>      name = auth
>>>    }
>>>    service config {
>>>      name = config
>>>    }
>>>    service dict-async {
>>>      name = dict-async
>>>    }
>>>    service dict {
>>>      name = dict
>>>    }
>>>    service login/proxy-notify {
>>>      name = director
>>>    }
>>>    service dns-client {
>>>      name = dns_client
>>>    }
>>>    service doveadm-server {
>>>      name = doveadm
>>>    }
>>>    service imap-hibernate {
>>>      name = imap-hibernate
>>>    }
>>>    service imap {
>>>      name = imap-login
>>>    }
>>>    service imap-urlauth {
>>>      name = imap-urlauth-login
>>>    }
>>>    service imap-urlauth-worker {
>>>      name = imap-urlauth-worker
>>>    }
>>>    service token-login/imap-urlauth {
>>>      name = imap-urlauth
>>>    }
>>>    service imap-master {
>>>      name = imap
>>>    }
>>>    service indexer-worker {
>>>      name = indexer-worker
>>>    }
>>>    service indexer {
>>>      name = indexer
>>>    }
>>>    service ipc {
>>>      name = ipc
>>>    }
>>>    service lmtp {
>>>      name = lmtp
>>>    }
>>>    service log-errors {
>>>      name = log
>>>    }
>>>    service sieve {
>>>      name = managesieve-login
>>>    }
>>>    service login/sieve {
>>>      name = managesieve
>>>    }
>>>    service pop3 {
>>>      name = pop3-login
>>>    }
>>>    service login/pop3 {
>>>      name = pop3
>>>    }
>>>    service replicator-doveadm {
>>>      name = replicator
>>>    }
>>>    service login/ssl-params {
>>>      name = ssl-params
>>>    }
>>>    service stats-mail {
>>>      name = stats
>>>    }
>>> }
>>> protocol lda {
>>>    mail_plugins = " virtual mail_crypt virtual"
>>>    service replication-notify-fifo {
>>>      name = aggregator
>>>    }
>>>    service anvil-auth-penalty {
>>>      name = anvil
>>>    }
>>>    service auth-worker {
>>>      name = auth-worker
>>>    }
>>>    service auth-client {
>>>      name = auth
>>>    }
>>>    service config {
>>>      name = config
>>>    }
>>>    service dict-async {
>>>      name = dict-async
>>>    }
>>>    service dict {
>>>      name = dict
>>>    }
>>>    service login/proxy-notify {
>>>      name = director
>>>    }
>>>    service dns-client {
>>>      name = dns_client
>>>    }
>>>    service doveadm-server {
>>>      name = doveadm
>>>    }
>>>    service imap-hibernate {
>>>      name = imap-hibernate
>>>    }
>>>    service imap {
>>>      name = imap-login
>>>    }
>>>    service imap-urlauth {
>>>      name = imap-urlauth-login
>>>    }
>>>    service imap-urlauth-worker {
>>>      name = imap-urlauth-worker
>>>    }
>>>    service token-login/imap-urlauth {
>>>      name = imap-urlauth
>>>    }
>>>    service imap-master {
>>>      name = imap
>>>    }
>>>    service indexer-worker {
>>>      name = indexer-worker
>>>    }
>>>    service indexer {
>>>      name = indexer
>>>    }
>>>    service ipc {
>>>      name = ipc
>>>    }
>>>    service lmtp {
>>>      name = lmtp
>>>    }
>>>    service log-errors {
>>>      name = log
>>>    }
>>>    service sieve {
>>>      name = managesieve-login
>>>    }
>>>    service login/sieve {
>>>      name = managesieve
>>>    }
>>>    service pop3 {
>>>      name = pop3-login
>>>    }
>>>    service login/pop3 {
>>>      name = pop3
>>>    }
>>>    service replicator-doveadm {
>>>      name = replicator
>>>    }
>>>    service login/ssl-params {
>>>      name = ssl-params
>>>    }
>>>    service stats-mail {
>>>      name = stats
>>>    }
>>> }
>>> protocol imap {
>>>    mail_plugins = " virtual mail_crypt virtual"
>>>    service replication-notify-fifo {
>>>      name = aggregator
>>>    }
>>>    service anvil-auth-penalty {
>>>      name = anvil
>>>    }
>>>    service auth-worker {
>>>      name = auth-worker
>>>    }
>>>    service auth-client {
>>>      name = auth
>>>    }
>>>    service config {
>>>      name = config
>>>    }
>>>    service dict-async {
>>>      name = dict-async
>>>    }
>>>    service dict {
>>>      name = dict
>>>    }
>>>    service login/proxy-notify {
>>>      name = director
>>>    }
>>>    service dns-client {
>>>      name = dns_client
>>>    }
>>>    service doveadm-server {
>>>      name = doveadm
>>>    }
>>>    service imap-hibernate {
>>>      name = imap-hibernate
>>>    }
>>>    service imap {
>>>      name = imap-login
>>>    }
>>>    service imap-urlauth {
>>>      name = imap-urlauth-login
>>>    }
>>>    service imap-urlauth-worker {
>>>      name = imap-urlauth-worker
>>>    }
>>>    service token-login/imap-urlauth {
>>>      name = imap-urlauth
>>>    }
>>>    service imap-master {
>>>      name = imap
>>>    }
>>>    service indexer-worker {
>>>      name = indexer-worker
>>>    }
>>>    service indexer {
>>>      name = indexer
>>>    }
>>>    service ipc {
>>>      name = ipc
>>>    }
>>>    service lmtp {
>>>      name = lmtp
>>>    }
>>>    service log-errors {
>>>      name = log
>>>    }
>>>    service sieve {
>>>      name = managesieve-login
>>>    }
>>>    service login/sieve {
>>>      name = managesieve
>>>    }
>>>    service pop3 {
>>>      name = pop3-login
>>>    }
>>>    service login/pop3 {
>>>      name = pop3
>>>    }
>>>    service replicator-doveadm {
>>>      name = replicator
>>>    }
>>>    service login/ssl-params {
>>>      name = ssl-params
>>>    }
>>>    service stats-mail {
>>>      name = stats
>>>    }
>>> }
>>> protocol pop3 {
>>>    service replication-notify-fifo {
>>>      name = aggregator
>>>    }
>>>    service anvil-auth-penalty {
>>>      name = anvil
>>>    }
>>>    service auth-worker {
>>>      name = auth-worker
>>>    }
>>>    service auth-client {
>>>      name = auth
>>>    }
>>>    service config {
>>>      name = config
>>>    }
>>>    service dict-async {
>>>      name = dict-async
>>>    }
>>>    service dict {
>>>      name = dict
>>>    }
>>>    service login/proxy-notify {
>>>      name = director
>>>    }
>>>    service dns-client {
>>>      name = dns_client
>>>    }
>>>    service doveadm-server {
>>>      name = doveadm
>>>    }
>>>    service imap-hibernate {
>>>      name = imap-hibernate
>>>    }
>>>    service imap {
>>>      name = imap-login
>>>    }
>>>    service imap-urlauth {
>>>      name = imap-urlauth-login
>>>    }
>>>    service imap-urlauth-worker {
>>>      name = imap-urlauth-worker
>>>    }
>>>    service token-login/imap-urlauth {
>>>      name = imap-urlauth
>>>    }
>>>    service imap-master {
>>>      name = imap
>>>    }
>>>    service indexer-worker {
>>>      name = indexer-worker
>>>    }
>>>    service indexer {
>>>      name = indexer
>>>    }
>>>    service ipc {
>>>      name = ipc
>>>    }
>>>    service lmtp {
>>>      name = lmtp
>>>    }
>>>    service log-errors {
>>>      name = log
>>>    }
>>>    service sieve {
>>>      name = managesieve-login
>>>    }
>>>    service login/sieve {
>>>      name = managesieve
>>>    }
>>>    service pop3 {
>>>      name = pop3-login
>>>    }
>>>    service login/pop3 {
>>>      name = pop3
>>>    }
>>>    service replicator-doveadm {
>>>      name = replicator
>>>    }
>>>    service login/ssl-params {
>>>      name = ssl-params
>>>    }
>>>    service stats-mail {
>>>      name = stats
>>>    }
>>> }
>>>
>>> Any tip/suggestion?
>>> I tried several configs from https://wiki2.dovecot.org/Plugins/Virtual
>>> Example 1:
>>> Virtual/Deleted/dovecot-virtual:
>>> *
>>>    deleted
>>>
>>> Example 2
>>> Virtual/All/dovecot-virtual
>>> *
>>> -Trash
>>> -Trash/*
>>>    all
>>>
>>> Thanks!



More information about the dovecot mailing list