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
<!doctype html> <html> <head> <meta charset="UTF-8"> </head> <body> <div> Hi, this is a known issue unfortunately. You can try do doveadm index -u victim 'Virtual/*' </div> <div> <br> </div> <div> Aki </div> <blockquote type="cite"> <div> On 19 February 2019 09:46 Stefan Hagen via dovecot < <a href="mailto:dovecot@dovecot.org">dovecot@dovecot.org</a>> wrote: </div> <div> <br> </div> <div> <br> </div> <div> Hello, </div> <div> <br> </div> <div> I'm using dovecot on my personal / private email server. </div> <div> I have set up virtual mailboxes in my inbox namespace like this: </div> <div> <br> </div> <div> namespace inbox { </div> <div> inbox = yes </div> <div> prefix = "Virtual/" </div> <div> separator = / </div> <div> location = "virtual:~/.emails_virtual:LAYOUT=fs:INDEX=dovecot.virtual.index:LISTINDEX=dovecot.virtual.list.index" </div> <div> list = yes </div> <div> subscriptions = yes </div> <div> mailbox { </div> <div> auto = subscribe </div> <div> } </div> <div> } </div> <div> <br> </div> <div> I had quite some trouble with it at first with UIDs changing all the </div> <div> time, but after adding INDEX and LISTINDEX it started to work just fine. </div> <div> <br> </div> <div> I've created dovecot_virtual files like this one: </div> <div> $ cat ~/.emails_virtual/2-LastDay/dovecot-virtual </div> <div> * </div> <div> -Trash </div> <div> -Sent </div> <div> -Drafts </div> <div> -Spam </div> <div> -Virtual </div> <div> -Virtual/* </div> <div> all younger 86400 </div> <div> <br> </div> <div> After stopping dovecot and deleting the index files and restarting </div> <div> dovecot, the virtual mailbox shows all mail from the last day - as </div> <div> expected. But after one day, it shows mail from two days. After three, </div> <div> it shows mails from three days. </div> <div> <br> </div> <div> It looks like dovecot selects emails from the last day, but never cleans </div> <div> out emails that are older, once they have been selected. </div> <div> <br> </div> <div> My full dovecot -n can be found here: </div> <div> <a href="https://codevoid.de/?q=/0/p/dovecot-n.txt" rel="noopener" target="_blank">https://codevoid.de/?q=/0/p/dovecot-n.txt</a> </div> <div> <br> </div> <div> Any ideas about what could be wrong? </div> <div> <br> </div> <div> Best Regards, </div> <div> Stefan </div> <div> <br> </div> <div> -- </div> <div> Stefan Hagen | (gopher|https)://codevoid.de(/gpg) </div> <div> CBD3 C468 64B4 6517 E8FB B90F B6BC 2EC5 52BE 43BA </div> </blockquote> <div> <br> </div> <div class="io-ox-signature"> --- <br>Aki Tuomi </div> </body> </html>
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 at 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 at 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 >