Hello.
I use expire plugin with dovecot 1.1.10. See my dovecot -n:
# 1.1.10: /usr/local/etc/dovecot.conf # OS: FreeBSD 6.3-RELEASE-p9 i386 ufs syslog_facility: local6 protocols: imap imaps managesieve ssl_cert_file: /etc/ssl/mail/mail.domain.net.cert ssl_key_file: /etc/ssl/mail/mail.domain.net.key disable_plaintext_auth: no login_dir: /var/run/dovecot/login login_executable(default): /usr/local/libexec/dovecot/imap-login login_executable(imap): /usr/local/libexec/dovecot/imap-login login_executable(managesieve): /usr/local/libexec/dovecot/managesieve-login login_user: dovecot-auth login_greeting: Domain mail server login_processes_count: 2 verbose_proctitle: yes first_valid_uid: 143 last_valid_uid: 143 first_valid_gid: 143 last_valid_gid: 143 mail_access_groups: mail mail_location: maildir:/var/mail/vmail/%u/ mail_debug(default): no mail_debug(imap): no mail_debug(managesieve): yes mail_executable(default): /usr/local/libexec/dovecot/imap mail_executable(imap): /usr/local/libexec/dovecot/imap mail_executable(managesieve): /usr/local/libexec/dovecot/managesieve mail_plugins(default): quota imap_quota mail_log expire mail_plugins(imap): quota imap_quota mail_log expire mail_plugins(managesieve): mail_plugin_dir(default): /usr/local/lib/dovecot/imap mail_plugin_dir(imap): /usr/local/lib/dovecot/imap mail_plugin_dir(managesieve): /usr/local/lib/dovecot/managesieve imap_client_workarounds(default): delay-newmail outlook-idle netscape-eoh tb-extra-mailbox-sep imap_client_workarounds(imap): delay-newmail outlook-idle netscape-eoh tb-extra-mailbox-sep imap_client_workarounds(managesieve): sieve(default): sieve(imap): sieve(managesieve): ~/dovecot.sieve auth default: mechanisms: plain login master_user_separator: * passdb: driver: passwd-file args: /usr/local/etc/dovecot.masterusers master: yes passdb: driver: sql args: /usr/local/etc/dovecot/dovecot-sql.conf userdb: driver: sql args: /usr/local/etc/dovecot/dovecot-sql.conf socket: type: listen client: path: /var/spool/postfix/private/auth mode: 432 user: postfix master: path: /var/run/dovecot/auth-master mode: 432 user: dovecot group: mail plugin: quota: maildir quota_rule: *:storage=1000M quota_rule2: Trash:storage=50M quota_warning: storage=80%% /usr/home/scripts/mail_quota-warning.sh 80 quota_warning2: storage=90%% /usr/home/scripts/mail_quota-warning.sh 85 quota_warning3: storage=95%% /usr/home/scripts/mail_quota-warning.sh 90 quota_warning4: storage=95%% /usr/home/scripts/mail_quota-warning.sh 95 sieve: /var/mail/vmail/%u/dovecot.sieve expire: Trash 7 Pubs 15 Junk 1 expire_dict: proxy::expire dict: expire: mysql:/usr/local/etc/dovecot/dovecot-dict-expire.conf
The expire plugin works with mysql database. The mysql table is used, and expire_stamp are written on it:
user1@domain.net/Trash 1234701558 user1@domain.net/Junk 1234386055 user2@domain.net/Trash 1234874172 user2@domain.net/Junk 1234400921 user1@domain.net/Pubs 1235576243
I launch /usr/local/sbin/dovecot --exec-mail ext /usr/local/libexec/dovecot/expire-tool every 4 hours. For 3 days, no mails were deleted. However, I have date_stamp in mysql table.
I dropped ALL my mails in Junk/Trash folder ; and delete all dovecot.index* in these folders. After, I restarted dovecot with expire plugin, and when a first mail arrived in one of these folder, a line is created in mysql table.
But nothing is deleted in my Trash/Pubs/Junk folder. I'm waiting for 3 days. (first mail arrived in these folder on 2009/02/08).
Any ideas? Have I to use cronjob/find to delete the expired mail?
Regards,
-- -Nicolas.