Hi there! I've had success using "doveadm mailbox list" to verify that my virtual mailboxes are showing up, and using "doveadm search mailbox $VIRTUAL_MAILBOX" to print out which mails are in a folder.
-Rob On Tue, 6 Mar 2018 11:40:13 -0700 "@lbutlr" <krem...@kreme.com> wrote: > I’ve created virtual mailboxes in dovecot, and they show up in > various clients, but the folders contain no messages. (I will get an > ‘empty” folder icon named “@virtual” and an empty folder icon named > “month” inside it. Is there a way I can verify what dovecot THINKS > should be in the virtual folder via doveadm? > > <https://www.dropbox.com/s/hd4wnjrs3y5iswi/Screenshot%202018-03-06%2011.38.25.png?dl=0> > > # cat /usr/local/etc/dovecot/virtual/month/dovecot-vitual > # ~/Maildir/virtual/month/dovecot-virtual > * > all younger 2678400 > > # doveconf -n > # 2.2.33.2 (d6601f4ec): /usr/local/etc/dovecot/dovecot.conf > # Pigeonhole version 0.4.21 (92477967) > # OS: FreeBSD 11.1-RELEASE-p4 i386 > auth_failure_delay = 5 secs > auth_mechanisms = PLAIN LOGIN > default_client_limit = 4096 > default_process_limit = 1024 > default_vsz_limit = 768 M > disable_plaintext_auth = no > first_valid_uid = 89 > imap_id_log = * > lda_mailbox_autocreate = yes > lda_mailbox_autosubscribe = yes > login_log_format_elements = user=<%u> %r %m %c > mail_location = maildir:~/Maildir > mail_max_userip_connections = 90 > mail_plugins = " virtual" > 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 imapsieve vnd.dovecot.imapsieve namespace { location = > virtual:/usr/local/etc/dovecot/virtual:INDEX=~/Maildir/virtual:CONTROL=~/Maildir/virtual > prefix = @virtual. separator = . } namespace inbox { > inbox = yes > location = > mailbox Archive { > auto = subscribe > special_use = \Archive > } > mailbox Drafts { > special_use = \Drafts > } > mailbox Junk { > auto = subscribe > special_use = \Junk > } > mailbox Sent { > special_use = \Sent > } > mailbox Trash { > special_use = \Trash > } > prefix = > } > passdb { > driver = pam > username_filter = !*@* > } > passdb { > args = /usr/local/etc/dovecot/dovecot-sql.conf.ext > driver = sql > } > plugin { > imapsieve_mailbox1_before = > file:/usr/lib/dovecot/sieve/report-spam.sieve > imapsieve_mailbox1_causes = COPY imapsieve_mailbox1_name = Junk > imapsieve_mailbox2_before = > file:/usr/lib/dovecot/sieve/report-ham.sieve > imapsieve_mailbox2_causes = COPY imapsieve_mailbox2_from = Junk > imapsieve_mailbox2_name = * > sieve_global_extensions = +vnd.dovecot.pipe +vnd.dovecot.environment > sieve_pipe_bin_dir = /usr/lib/dovecot/sieve > sieve_plugins = sieve_imapsieve sieve_extprograms > } > protocols = imap pop3 > service auth { > unix_listener /var/spool/postfix/private/auth { > mode = 0666 > } > } > service imap-login { > inet_listener imaps { > port = 993 > ssl = yes > } > } > service pop3-login { > inet_listener pop3 { > port = 0 > } > inet_listener pop3s { > port = 995 > ssl = yes > } > } > ssl_cert = </path/to/fullchain.pem > ssl_key = # hidden, use -P to show it > ssl_protocols = !SSLv2 !SSLv3 > userdb { > driver = passwd > } > userdb { > args = /usr/local/etc/dovecot/dovecot-sql.conf.ext > default_fields = uid=vpopmail gid=vchkpw > mail_location=/usr/local/virtual/%u > mail=maildir:/usr/local/virtual/%u driver = sql } > protocol imap { > mail_plugins = " virtual imap_sieve" > } > >