On Wed, 18 Jul 2018, Sophie Loewenthal wrote:
Why did my 'doveadm expunge' command not clear the Trash out of a mailbox?
The oldest messages was put into the Trash on the 26th June 2018 as shown in the file timestamp.
-rw------- 1 vmail mail 33056 Jun 26 16:46 1530031582.M768773P18242.mx10,S=33056,W=33510:2,RS
# doveadm -D expunge -u testuser@example.org mailbox Trash savedbefore 2d
I was going to suggest that you dump the savedbefore dates on all your messages to see what Dovecot thinks your message's timestamps are. I tried it out myself and was surprised to find *all* messages in *any* mailbox I looked at gave the same timestamp -- probably that of the latest message.
For example,
# doveadm -f tab fetch -u {user} "uid date.saved" mailbox Trash
uid date.saved
23624 2018-07-18 14:50:03
23625 2018-07-18 14:50:03
[... 3657 lines removed ...]
27295 2018-07-18 14:50:03
27296 2018-07-18 14:50:03
27297 2018-07-18 14:50:03
# doveadm -f tab fetch -u {user} "uid date.saved" mailbox INBOX
uid date.saved
94878 2018-07-18 14:53:46
100366 2018-07-18 14:53:46
[... 140 lines removed ...]
102313 2018-07-18 14:53:46
102314 2018-07-18 14:53:46
102315 2018-07-18 14:53:46
This would explain why the cron script I use to blow away old deleted mail has not fired in ages.
Is this a bug, or am I not understanding what "savedbefore" means now? It certainly has changed behaviour since <2.2, since my script used to work before.
Joseph Tam <jtam.home@gmail.com>