doveadm expunge didn't clear Trash mailbox

Joseph Tam jtam.home at gmail.com
Thu Jul 19 01:05:46 EEST 2018


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 at 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 at gmail.com>


More information about the dovecot mailing list