My next bonehead maneuver - was more of the first! location = virtual:/var/mail/%%d/%%n/mdbox/mailboxes/virtual was adapted from my definition for my shared namespace. Which was intended to share OTHER users - which is why the '%%' prefixes are used. Changing to: location = virtual:/var/mail/%d/%n/mdbox/mailboxes/virtual Now I can actually view something! But I still have a challenge - the mailboxes don't allow subscriptions via IMAP. If I manually edit the "subscriptions" file I can force it and I can now browse & view - but I can't make changes via IMAP clients. What else am I missing? -- Daniel On 2015-06-22 10:31, dmiller at amfes.com wrote:> Any ideas on what I need to check or should post to help find the > problem? > > -- > Daniel > > > On 2015-06-20 14:50, dmiller at amfes.com wrote: >> The first bonehead maneuver seems to be: >> location = virtual:/var/mail/%%d/%%n/mdbox/virtual >> I'm thinking it should be: >> location = virtual:/var/mail/%%d/%%n/mdbox/mailboxes/virtual >> >> But...it didn't seem to make a difference. And if I have the >> "virtual" folder tree under a location other than >> "/var/mail/domain/user/mdbox/mailboxes" no names appear - so I think I >> have the files in the right place. Any ideas? >> >> -- >> Daniel >> >> >> On 2015-06-20 14:34, dmiller at amfes.com wrote: >>> >>> Having some trouble with my first attempt at virtual mailboxes. I've >>> enabled the plugin in 10-mail.conf, added a virtual namespace, and >>> created the dovecot-virtual files in the folders. >>> >>> I see the folder names in the list when I refresh the folders >>> available for subscription - but the folders cannot be subscribed to >>> and I can't view their contents. What obvious mistake did I make? >>> >>> doveconf -n: >>> auth_cache_size = 4 k >>> auth_mechanisms = plain login >>> default_login_user = nobody >>> default_vsz_limit = 1 G >>> dict { >>> acl = mysql:/usr/local/etc/dovecot/dovecot-dict-sql.conf.ext >>> } >>> disable_plaintext_auth = no >>> listen = * >>> mail_attachment_dir = /var/mail/attachments >>> mail_plugins = fts fts_solr acl zlib virtual >>> 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 >>> mdbox_rotate_interval = 1 days >>> mdbox_rotate_size = 32 M >>> namespace { >>> hidden = no >>> inbox = yes >>> list = yes >>> location >>> prefix >>> separator = / >>> subscriptions = yes >>> type = private >>> } >>> namespace { >>> list = children >>> location = mdbox:/var/mail/%%d/%%n/mdbox >>> prefix = shared/%%n/ >>> separator = / >>> subscriptions = no >>> type = shared >>> } >>> namespace { >>> location = virtual:/var/mail/%%d/%%n/mdbox/virtual >>> prefix = virtual/ >>> separator = / >>> } >>> passdb { >>> args = /usr/local/etc/dovecot/dovecot-ldap.conf >>> driver = ldap >>> } >>> plugin { >>> acl = vfile:/usr/local/etc/dovecot/global-acls:cache_secs=300 >>> acl_shared_dict = proxy::acl >>> fts = solr >>> fts_autoindex = yes >>> fts_solr = break-imap-search url=http://solr.amfes.lan:8983/solr/ >>> sieve = ~/.dovecot.sieve >>> sieve_dir = ~/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_limit = 200 >>> process_min_avail = 10 >>> service_count = 1 >>> } >>> 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 = </usr/local/etc/dovecot/ssl/certs/mail.amfes.com.crt >>> ssl_key = </usr/local/etc/dovecot/ssl/private/mail.amfes.com.key >>> userdb { >>> driver = prefetch >>> } >>> userdb { >>> args = /usr/local/etc/dovecot/dovecot-ldap.conf >>> driver = ldap >>> } >>> verbose_proctitle = yes >>> protocol lmtp { >>> mail_plugins = fts fts_solr acl zlib virtual sieve >>> } >>> protocol lda { >>> mail_plugins = fts fts_solr acl zlib virtual sieve >>> } >>> protocol imap { >>> imap_client_workarounds = tb-extra-mailbox-sep >>> imap_idle_notify_interval = 29 mins >>> mail_max_userip_connections = 50 >>> mail_plugins = fts fts_solr acl zlib virtual imap_acl >>> } >>> local 192.168.0.2 { >>> protocol imap { >>> ssl_cert = </usr/local/etc/dovecot/ssl/certs/mail.amfes.com.crt >>> ssl_key = </usr/local/etc/dovecot/ssl/private/mail.amfes.com.key >>> } >>> } >>> >>> Given my mail storage location of /var/mail/%%d/%%n, I have created: >>> /var/mail/mydomain/myname/virtual/newfolder >>> >>> and within that folder created a dovecot-virtual. I created a few >>> like >>> this from the wiki samples - the folder names are visible but no >>> contents. >>> >>> -- >>> Daniel