Virtual Mailboxes

dmiller at amfes.com dmiller at amfes.com
Thu Jun 25 00:00:09 UTC 2015


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


More information about the dovecot mailing list