[Dovecot] Expire plugin does not delete expired mail
Nicolas Letellier
nicolas at nicoelro.net
Wed Feb 11 10:22:04 EET 2009
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 at domain.net/Trash 1234701558
user1 at domain.net/Junk 1234386055
user2 at domain.net/Trash 1234874172
user2 at domain.net/Junk 1234400921
user1 at 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.
More information about the dovecot
mailing list