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 testu...@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.h...@gmail.com>

Reply via email to