[Dovecot] expire-plugin: configuration dict-server

Thomas Zajic zlatko at zlatko.fdns.net
Wed Aug 6 08:24:05 EEST 2008


* 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 at 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


More information about the dovecot mailing list