Have given up on getting the global virtual config for now, and am trying to setup the virtual mailboxes for just my user account. Basically, it's behaving exactly as it did when I was trying to use a global config. This, and the lack of errors, is causing me to think that it is something odd in my install as opposed to a configuration issue (full doveconf -n at end)
mail_location = maildir:~/Maildir mail_plugins = " virtual" namespace { location = virtual:~/Maildir/virtual:LAYOUT=maildir++ prefix = virtual. separator = . }
# ldd which dovecot
/usr/local/sbin//dovecot:
libdovecot.so.0 => /usr/local/lib/dovecot/libdovecot.so.0 (0x28085000)
libc.so.7 => /lib/libc.so.7 (0x28184000)
# cd ~kremels/Maildir
# ls -lsR virtual/
total 24
8 drwxr-xr-x 2 kremels kremels 512 Mar 16 14:40 .day
8 drwxr-xr-x 2 kremels kremels 512 Mar 16 14:40 .month
8 drwxr-xr-x 2 kremels kremels 512 Mar 16 14:40 .unread
virtual/.day: total 16 8 -rwxr-xr-x 1 kremels kremels 62 Mar 16 14:15 dovecot-vitual 8 -rwxr-xr-x 1 kremels kremels 392 Mar 13 07:12 dovecot.index.log
virtual/.month: total 8 8 -rwxr-xr-x 1 kremels kremels 66 Mar 16 14:15 dovecot-vitual
virtual/.unread: total 16 8 -rwxr-xr-x 1 kremels kremels 11 Mar 16 14:15 dovecot-vitual 8 -rwxr-xr-x 1 kremels kremels 256 Mar 16 14:42 dovecot.index.log # doveadm search mailbox "virtual.unread" -u kremels
(nothing)
# cat .virtual.unread/dovecot-vitual # ~/Maildir/virtual/.day/dovecot-virtual * unseen # doveadm mailbox list -u kremels | grep virt virtual.unread virtual.month virtual.day virtual #
Again, the "virtual" mailbox shows up, it contains three mailboxes (day, month, unread), and all are empty.
I've added :LAYOUT=maildir++ in the location but I also tried using the "fs" layout and just creating folders under ~/Maildir/virtual, but results where the same. I've read https://wiki2.dovecot.org/Plugins/Virtual many times and I feel I must be missing something, but no idea what and with no errors it's proving impossible for me to figure it out.
full conf:
# doveconf -n
# 2.2.34 (874deae): /usr/local/etc/dovecot/dovecot.conf
# Pigeonhole version 0.4.22 (22940fb7)
# OS: FreeBSD 11.1-RELEASE-p4 i386
# Hostname: mail.covisp.net
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
log_path = /var/log/dovecot
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:~/Maildir/virtual:LAYOUT=maildir++
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 =
participants (1)
-
unknown@example.com