[Dovecot] RESOLVED: expire plugin doesn't work?

Anton Chigin anton.chigin at live.com
Sat Aug 24 14:28:04 EEST 2013


Was just reading the same wiki page :)Really appreciate your help.Will mark as resolved

Date: Sat, 24 Aug 2013 07:20:53 -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?


  
    
  
  
    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

                        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