- Eric Toczek, 2008-08-05 15:30
Do you have the plugin loaded in the imap protocol section?
protocol imap { ... mail_plugins = fts fts_squat quota imap_quota expire ... }
If you do then the table should get updated when you move a message into the trash folder.
If you've got the plugin set correctly and you're still not getting anything written into the table you can restart mysql with query logging on:
http://dev.mysql.com/doc/refman/5.0/en/query-log.html
Then move a message to one of the expire folders and see what query is run on the database and if it's not succeeding due to an error.
Hi,
Same problem here - dovecot never adds any records to the expire table, although the database connection is fine. All it ever does is query for existing records when a message gets moved to Trash or Junk, so at least that part is working.
Here's the mysql.log entries:
080806 6:59:04 39 Connect dovecot@localhost on dovecot 39 Query SELECT when FROM expire WHERE path = 'zlatko-mail/Trash' 080806 7:00:21 39 Query SELECT when FROM expire WHERE path = 'zlatko-mail/Trash' 080806 7:00:23 39 Query SELECT when FROM expire WHERE path = 'zlatko-mail/Trash' 080806 7:00:25 39 Query SELECT when FROM expire WHERE path = 'zlatko-mail/Trash' 080806 7:18:13 39 Query SELECT when FROM expire WHERE path = 'zlatko-mail/Junk' 080806 7:19:47 39 Query SELECT path, when FROM expire ORDER BY when
These SELECTs don't return any rows, as the table is still empty. If I understand the expire-plugin.c source correctly, then dovecot should insert a new record in this case (folder path and timestamp when to expire this folder), but that's just not happening.
The last query is from an 'expire-tool --test' run, and of course this SELECT also doesn't return anything from the empty table.
Do I have to have my userdb and/or in MySQL as well to make it work properly? Right now, I'm using userdb=passwd and passdb=passwd-file (for CRAM-MD5 authentication).
Bye, Thomas