[Dovecot] expire plugin doesn't work?

Gedalya gedalya at gedalya.net
Sat Aug 24 14:20:53 EEST 2013


Oh cool. Nice to hear.
Remember to take a look at the prefetch 
http://wiki2.dovecot.org/UserDatabase/Prefetch , it saves you an extra 
query in cases where authentication took place before userdb lookup.


On 08/24/2013 07:19 AM, Anton Chigin wrote:
> I've set up both static userdb and mysql userdb and according to mysql 
> logs it works as you described!
> Will move from static to sql usersdb anyway.
> Thanks!
>
> ------------------------------------------------------------------------
> Date: Sat, 24 Aug 2013 06:57:05 -0400
> From: gedalya at gedalya.net
> To: anton.chigin at live.com
> CC: dovecot at dovecot.org
> Subject: Re: [Dovecot] expire plugin doesn't work?
>
> I don't know, why don't you just try?
> If you run the exact same command but with "search" instead of 
> "expunge", it should also use the expire plugin in the same way, so 
> that should be an easy test.
> Are you using sql for passdb? If so I wonder if you could define an 
> sql userdb in addition to the static userdb with only an iterate_query 
> defined..?
>
> On 08/24/2013 06:46 AM, Anton Chigin wrote:
>
>     So,
>     is enabling expire plugin the only way "doveadm expunge" to work
>     with static userdb, because of lack iterate_query option?
>
>     If I test it now "doveadm search" I see:
>     Aug 24 13:28:22 piscola dovecot: auth: Debug: Loading modules from
>     directory: /usr/lib/dovecot/modules/auth
>     Aug 24 13:28:22 piscola dovecot: auth: Debug: Module loaded:
>     /usr/lib/dovecot/modules/auth/libdriver_mysql.so
>     Aug 24 13:28:22 piscola dovecot: auth: Debug: master in: LIST#0111
>     Aug 24 13:28:22 piscola dovecot: auth: Error: Trying to iterate
>     users, but userdbs don't support it
>
>     userdb I have:
>     userdb {
>       args = uid=vmail gid=vmail home=/home/mail/vhosts/%d/%n
>       driver = static
>     }
>
>     Is it OK and doveadm will not have to iterate users since expire
>     plugin is enabled?
>     Or should I still fix it to get it works properly?
>
>     Thanks a lot for your help!
>
>     ------------------------------------------------------------------------
>     Date: Sat, 24 Aug 2013 06:22:32 -0400
>     From: gedalya at gedalya.net <mailto:gedalya at gedalya.net>
>     To: anton.chigin at live.com <mailto:anton.chigin at live.com>
>     CC: dovecot at dovecot.org <mailto:dovecot at dovecot.org>
>     Subject: Re: [Dovecot] expire plugin doesn't work?
>
>     Yes, you add that cron job, and it would work with or without the
>     expire plugin.
>     The thing is that if the expire plugin is enabled, the "doveadm
>     expunge" command will look at the expires table in mysql and only
>     process users who are in the database with a timestamp older than
>     your specified message age. The timestamp is supposed to designate
>     "age of oldest message in folder". Without the expires plugin, the
>     command would have to process every user in the system (as per the
>     result of the iterate query, if you're using SQL authentication)
>     and actually open every Trash folder and look inside, which would
>     normally be a lot more work and take more time.
>
>
>     On 08/24/2013 06:16 AM, Anton Chigin wrote:
>
>         Hi!
>         Thanks for your suggestion, that moved me in to right direction.
>         It was double permission issue, that I was able to debug since
>         changed format, and now timestaps are added into the mysql table.
>
>         As far as I understand expire plugin only adds timestamps to
>         mysql table, and thats it, isn't it?
>         I mean I want to understand how to configure mails to be
>         removed...
>         Do I need to add to cron "doveadm expunge -A mailbox Trash
>         savedbefore 30d" ?
>
>         Thanks a lot!
>
>         > Date: Fri, 23 Aug 2013 21:17:34 -0400
>         > From: gedalya at gedalya.net <mailto:gedalya at gedalya.net>
>         > To: dovecot at dovecot.org <mailto:dovecot at dovecot.org>;
>         anton.chigin at live.com <mailto:anton.chigin at live.com>
>         > Subject: Re: [Dovecot] expire plugin doesn't work?
>         >
>         > On 08/23/2013 09:05 PM, Anton Chigin wrote:
>         > > plugin {
>         > > expire = Trash 7
>         > > expire_dict = proxy::expire
>         >
>         > You're using Dovecot 2.1, that configuration syntax is for 1.2.
>         > Please follow documentation at
>         http://wiki2.dovecot.org/Plugins/Expire
>         >
>
>
>



More information about the dovecot mailing list