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 = [email protected]
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
}

Reply via email to