[Dovecot] expire plugin doesn't work?

Anton Chigin anton.chigin at live.com
Sat Aug 24 13:46:28 EEST 2013


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/authAug 24 13:28:22 piscola dovecot: auth: Debug: Module loaded: /usr/lib/dovecot/modules/auth/libdriver_mysql.soAug 24 13:28:22 piscola dovecot: auth: Debug: master in: LIST#0111Aug 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
To: anton.chigin at live.com
CC: 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

            > To: dovecot at dovecot.org; 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