On Sun, 2008-08-31 at 07:22 +0200, Thomas Zajic wrote:
The expire plugin using MySQL as a backend still doesn't work at all here, the table remains empty and doesn't ever get updated (see http://www.dovecot.org/list/dovecot/2008-August/032687.html).
Just tested, worked fine with me.. Are you sure there are no error messages when you're trying to use it? http://wiki.dovecot.org/Logging
plugin: expire: Trash 30 Junk 60
After Dovecot restart when you copy the first message to Trash or Junk, do you see that dict process starts?
[root@airframe]:~# cat /usr/local/etc/dovecot-sql-expire.conf driver = mysql connect = host=/var/run/mysql/mysql.sock user=dovecot password=XYZ dbname=dovecot table = expire select_field = when
How were you able to create a "when" column? I only get syntax error if I try to do that.
My configuration:
connect = host=localhost dbname=test user=tss password=pass table = expire select_field = stamp where_field = path username_field = username
create table expire (path varchar(100) not null, stamp integer not null, primary key(path));
mysql> select * from expire; +-----------+------------+ | path | stamp | +-----------+------------+ | tss/Trash | 1222753145 | +-----------+------------+ 1 row in set (0.00 sec)
The username field isn't necessary since it'll always be NULL. But even if you had it it shouldn't have mattered. You always should have got at least one row added..