[Dovecot] X-SAVEDATE & dync & doveadm expunge

e-frog e-frog at gmx.de
Fri Dec 31 12:36:26 EET 2010


Hello List,

After moving the mail store via dsync backup to a different location the 
following command
	
	doveadm expunge -u user mailbox "Trash" savedbefore 10d

deleted ALL mails in Trash instead of messages older than 10 days.

It looks like X-SAVEDATE is somehow wrong...

A fetch 1:* (internaldate x-savedate)
* 1 FETCH (INTERNALDATE "28-Dec-2007 14:49:58 +0100" X-SAVEDATE 
"01-Jan-1970 01:00:00 +0100")
A OK Fetch completed.

...while the ctime for this mail is as below:

$ ls -lac
-rw------- 1 vmail vmail  40851 2010-12-30 19:26 
1198963359.P1256Q0M253583.ubuntu-test.localdomain,S=40851:2,S

I was assuming that for the maildirs X-SAVEDATE is derived from the 
message ctime? "01-Jan-1970 01:00:00 +0100" seem to be definitely wrong.

Thanks,
e-frog


$ doveconf -n
# 2.0.8 (89936539e3b8): /etc/dovecot/dovecot.conf
# OS: Linux 2.6.35-24-generic-pae i686 Ubuntu 10.10
deliver_log_format = msgid=%m: from=%f: %$
dict {
   dictionary = mysql:/etc/dovecot/dovecot-dict-sql.conf.ext
}
lda_mailbox_autocreate = yes
lda_mailbox_autosubscribe = yes
mail_gid = vmail
mail_home = /home/vmail/%Ld/%Ln
mail_location = maildir:~/maildir:INDEX=~/index:CONTROL=~/control
mail_plugins = quota virtual
mail_uid = vmail
managesieve_notify_capability = mailto
managesieve_sieve_capability = fileinto reject envelope 
encoded-character vacation subaddress comparator-i;ascii-numeric 
relational regex imap4flags copy include variables body enotify 
environment mailbox date
namespace {
   hidden = no
   inbox = yes
   list = yes
   location =
   prefix =
   separator = /
   subscriptions = yes
   type = private
}
namespace {
   location = virtual:/etc/dovecot/virtual:INDEX=~/control/virtual
   prefix = virtual/
   separator = /
   subscriptions = no
   type = private
}
passdb {
   args = /etc/dovecot/dovecot-sql.conf.ext
   driver = sql
}
plugin {
   antispam_backend = spool2dir
   antispam_spam = Junk
   antispam_spool2dir_notspam = /home/vmail/learn-ham/%%020lu-%u-%%05luh
   antispam_spool2dir_spam = /home/vmail/learn-spam/%%020lu-%u-%%05lus
   antispam_trash = Trash
   fts = squat
   fts_squat = partial=4 full=10
   quota = dict:user::proxy::dictionary
   sieve = ~/dovecot.sieve
   sieve_before = /etc/dovecot/sieve-global/
   sieve_dir = ~/sieve
}
postmaster_address = postmaster at ubuntu-test.localdomain
protocols = imap lmtp sieve
quota_full_tempfail = yes
service auth {
   unix_listener /var/spool/postfix/private/dovecot-auth {
     group = postfix
     mode = 0660
     user = postfix
   }
   unix_listener auth-userdb {
     mode = 0600
     user = vmail
   }
}
service dict {
   unix_listener dict {
     mode = 0600
     user = vmail
   }
}
service imap-login {
   inet_listener imaps {
     port = 0
   }
   process_min_avail = 2
   service_count = 0
}
service imap {
   executable = imap postlogin
}
service lmtp {
   unix_listener /var/spool/postfix/private/dovecot-lmtp {
     group = postfix
     mode = 0660
     user = postfix
   }
   user = vmail
}
service postlogin {
   executable = script-login /opt/bin/dovecot-postlogin.sh
}
ssl = required
ssl_cert = </etc/ssl/certs/dovecot.pem
ssl_key = </etc/ssl/private/dovecot.pem
userdb {
   args = /etc/dovecot/dovecot-sql.conf.ext
   driver = sql
}
verbose_proctitle = yes
protocol lmtp {
   mail_plugins = quota virtual sieve
}
protocol imap {
   mail_plugins = quota virtual fts fts_squat imap_quota antispam
}



More information about the dovecot mailing list