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"
}
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" <kremels@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" }
-- You only had to look into Teatime's mismatched eyes to know one thing, which was this: if Teatime wanted to find you he would not look everywhere. He'd look in only one place, which would be the place where you were hiding. --Hogfather
On 06 Mar 2018, at 13:13, Rob Hoelz <rob+dovecot@hoelz.ro> wrote:
I've had success using "doveadm mailbox list”
# doveadm mailbox list -u kremels Archive Drafts Junk ... @virtual @virtual.day @virtual.month INBOX
So far so good.
and using "doveadm search mailbox $VIRTUAL_MAILBOX”
# doveadm search mailbox "@virtual.day" -u kremels #
Hmm…
# doveadm search mailbox "INBOX" -u kremels e0fc6a3557f62158c111000021d1a38d 83 e0fc6a3557f62158c111000021d1a38d 84 e0fc6a3557f62158c111000021d1a38d 85 e0fc6a3557f62158c111000021d1a38d 86 e0fc6a3557f62158c111000021d1a38d 89 e0fc6a3557f62158c111000021d1a38d 90 e0fc6a3557f62158c111000021d1a38d 91 e0fc6a3557f62158c111000021d1a38d 92 e0fc6a3557f62158c111000021d1a38d 93 e0fc6a3557f62158c111000021d1a38d 94 e0fc6a3557f62158c111000021d1a38d 95 e0fc6a3557f62158c111000021d1a38d 96 e0fc6a3557f62158c111000021d1a38d 97 e0fc6a3557f62158c111000021d1a38d 98 e0fc6a3557f62158c111000021d1a38d 99
Do the dovecot-vitual files require certain permissions? They are 644 and owned by root:wheel
I don’t see any errors on starting dovecot.
On 2018-03-06 (14:41 MST), "@lbutlr" <kremels@kreme.com> wrote:
and using "doveadm search mailbox $VIRTUAL_MAILBOX”
# doveadm search mailbox "@virtual.day" -u kremels #
Any clues on this? As far as I can tell from the documentation and the list this should work, but it is not.
-- 'What good is a candle at noonday?' --Sourcery
On 08.03.2018 03:09, @lbutlr wrote:
On 2018-03-06 (14:41 MST), "@lbutlr" <kremels@kreme.com> wrote:
and using "doveadm search mailbox $VIRTUAL_MAILBOX” # doveadm search mailbox "@virtual.day" -u kremels # Any clues on this? As far as I can tell from the documentation and the list this should work, but it is not.
You actually have a mailbox called '@virtual.day'?
Aki
-- I AM NOT A LICENSED HAIRSTYLIST Bart chalkboard Ep. AABF04
On 2018-03-08 (00:05 MST), Aki Tuomi <aki.tuomi@dovecot.fi> wrote:
On 08.03.2018 03:09, @lbutlr wrote:
On 2018-03-06 (14:41 MST), "@lbutlr" <kremels@kreme.com> wrote:
and using "doveadm search mailbox $VIRTUAL_MAILBOX” # doveadm search mailbox "@virtual.day" -u kremels # Any clues on this? As far as I can tell from the documentation and the list this should work, but it is not.
You actually have a mailbox called '@virtual.day'?
A virtual mailbox, yes. and @virtual.month
<https://www.dropbox.com/s/4ablwo7io5nf9ni/Screenshot%202018-03-08%2004.00.52.png?dl=0>
On Mar 8, 2018, at 00:05, Aki Tuomi <aki.tuomi@dovecot.fi> wrote:
You actually have a mailbox called '@virtual.day'?
The behavior isn’t any different if the prefix is “virtual.” instead of “@virtual.”
--
My main job is trying to come up with new and innovative and effective ways to reject even more mail. I'm up to about 97% now.
On 2018-03-06 (11:40 MST), @lbutlr <kremels@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
namespace { location = virtual:/usr/local/etc/dovecot/virtual:INDEX=~/Maildir/virtual:CONTROL=~/Maildir/virtual prefix = @virtual. separator = . }
I have played around with this quite a bit, and all I get is an empty virtual mailbox. I've renamed the prefix to "virtual." "v." and "smart." with no change in behavior, the mailbox name changes, but no messages show up.
The file /usr/local/etc/dovecot/virtual/month/dovecot-vitual is owned by root and has permissions 644 as does the file /usr/local/etc/dovecot/virtual/week/dovecot-vitual.
I've even tried creating a milder in the home folder matching the name of the virtual prefix, though I did not expect that to work.
I reloaded and restarted dovecot many times.
Regardless of settings, doveadm shows no messages in the virtual mailboxes, though they do who up in
# doveadm mailbox list -u kremels @virtual @virtual.day @virtual.month
# doveadm search mailbox "@virtua" -u kremels doveadm(kremels): Error: Couldn't get mailbox '@virtua' GUID: Mailbox doesn't exist: @virtua # doveadm search mailbox "@virtual" -u kremels # doveadm search mailbox "@virtual.day" -u kremels #
So, doveadm certainly knows the mailboxes are there, they just don't have messages in them.
I'm at a loss as to what to check next as it seems the paths and permissions to the dovecot-virtual files must be OK, since they are being read to create the virtual folders. So, i assume I have something wrong gin the content, but
- all younger <number of seconds>
Is straight out of the documentation.
-- Si Hoc Legere Scis Nimium Eruditionis Habes
participants (5)
-
unknown@example.com
-
@lbutlr
-
Aki Tuomi
-
LuKreme
-
Rob Hoelz