Virtual mailbox shows mails that are too old
Hello,
I'm using dovecot on my personal / private email server. I have set up virtual mailboxes in my inbox namespace like this:
namespace inbox { inbox = yes prefix = "Virtual/" separator = / location = "virtual:~/.emails_virtual:LAYOUT=fs:INDEX=dovecot.virtual.index:LISTINDEX=dovecot.virtual.list.index" list = yes subscriptions = yes mailbox { auto = subscribe } }
I had quite some trouble with it at first with UIDs changing all the time, but after adding INDEX and LISTINDEX it started to work just fine.
I've created dovecot_virtual files like this one: $ cat ~/.emails_virtual/2-LastDay/dovecot-virtual * -Trash -Sent -Drafts -Spam -Virtual -Virtual/* all younger 86400
After stopping dovecot and deleting the index files and restarting dovecot, the virtual mailbox shows all mail from the last day - as expected. But after one day, it shows mail from two days. After three, it shows mails from three days.
It looks like dovecot selects emails from the last day, but never cleans out emails that are older, once they have been selected.
My full dovecot -n can be found here: https://codevoid.de/?q=/0/p/dovecot-n.txt
Any ideas about what could be wrong?
Best Regards, Stefan
-- Stefan Hagen | (gopher|https)://codevoid.de(/gpg) CBD3 C468 64B4 6517 E8FB B90F B6BC 2EC5 52BE 43BA
Another workaround that worked for me with this is using INDEX=MEMORY in your virtual folder setup.
On Tue, 19 Feb 2019 10:19:56 +0200 (EET) Aki Tuomi via dovecot <dovecot@dovecot.org> wrote:
Hi, this is a known issue unfortunately. You can try do doveadm index -u victim 'Virtual/*'
Aki On 19 February 2019 09:46 Stefan Hagen via dovecot < dovecot@dovecot.org> wrote:
Hello,
I'm using dovecot on my personal / private email server. I have set up virtual mailboxes in my inbox namespace like this:
namespace inbox { inbox = yes prefix = "Virtual/" separator = / location = "virtual:~/.emails_virtual:LAYOUT=fs:INDEX=dovecot.virtual.index:LISTINDEX=dovecot.virtual.list.index" list = yes subscriptions = yes mailbox { auto = subscribe } }
I had quite some trouble with it at first with UIDs changing all the time, but after adding INDEX and LISTINDEX it started to work just fine.
I've created dovecot_virtual files like this one: $ cat ~/.emails_virtual/2-LastDay/dovecot-virtual * -Trash -Sent -Drafts -Spam -Virtual -Virtual/* all younger 86400
After stopping dovecot and deleting the index files and restarting dovecot, the virtual mailbox shows all mail from the last day - as expected. But after one day, it shows mail from two days. After three, it shows mails from three days.
It looks like dovecot selects emails from the last day, but never cleans out emails that are older, once they have been selected.
My full dovecot -n can be found here: https://codevoid.de/?q=/0/p/dovecot-n.txt
Any ideas about what could be wrong?
Best Regards, Stefan
-- Stefan Hagen | (gopher|https)://codevoid.de(/gpg) CBD3 C468 64B4 6517 E8FB B90F B6BC 2EC5 52BE 43BA
Aki Tuomi
participants (3)
-
Aki Tuomi
-
Rob Hoelz
-
Stefan Hagen