> -----Original Message-----
> From: Matt Rauch [mailto:mattr-li...@eagle.ca] 
> Sent: November-08-12 11:57 AM
> To: qmailadmin@inter7.com
> Subject: RE: [qmailadmin] [SPAM] Auto-empty trash items older 
> then a certain age
> 
> > Il 08/11/2012 17:15, Matt Rauch ha scritto:
> > >> The best way to do this is to run:
> > >>
> > >> doveadm expunge -A mailbox Trash savedbefore 30d (if you
> > use dovecot
> > >> with MySQL for auth)
> > >>
> > >> or
> > >>
> > >> doveadm expunge -u u...@domain.com mailbox Trash
> > savedbefore 30d (if
> > >> you use dovecot with vpopmail auth)
> > >>
> > >> Any other script, like "find -exec rm", will break user's
> > quota since
> > >> is not updating maildirsize file.
> > >>
> > >> Form more information see
> > >>
> > >> http://wiki2.dovecot.org/Tools/Doveadm/Expunge
> > >> and
> > >> http://wiki2.dovecot.org/Plugins/Expire
> > >>
> > >> Ciao
> > >>
> > >   Ok so I tested this method with search instead of
> > expunge to see what
> > > would hit. if I try the first command (doveadm expunge -A mailbox 
> > > Trash savedbefore 30d), I get an error message:
> > >
> > > # doveadm search -A mailbox Trash savedbefore 30d
> > > doveadm(mattr): Error: User listing returned failure
> > > doveadm: Error: Failed to iterate through some users
> > >
> > > If I use the second option (doveadm expunge -u
> > u...@domain.com mailbox
> > > Trash savedbefore 30d) it works, but I have to specify the
> > username for each user.
> > > Is there a way to do it so that it affects all users? 
> > (which I thought
> > > the -A would do).
> > 
> > The -A need dovecot auth with mysql like this:
> > 
> > ## vpopmail
> > ##
> > # Query to get a list of all usernames.
> > iterate_query = SELECT CONCAT(pw_name, '@', pw_domain) AS user FROM 
> > vpopmail # driver = mysql connect = host=localhost dbname=vpopmail 
> > user=vpopmail password=mypwd default_pass_scheme = MD5-CRYPT
> > 
> > user_query = SELECT pw_dir as home, 89 AS uid, 89 AS gid, 
> > concat('*:backend=', pw_shell) as quota_rule FROM vpopmail WHERE 
> > pw_name = '%n' AND pw_domain = '%d'
> > 
> > password_query = SELECT CONCAT(pw_name, '@', pw_domain) AS user, 
> > pw_passwd AS password, concat('*:backend=', pw_shell) as 
> > userdb_quota_rule FROM vpopmail WHERE pw_name = '%n' AND 
> pw_domain = 
> > '%d'
> > 
> > What kind of dovecot authentication are you using?
> 
> I'm not entirely sure to be honest with you. Are you able to 
> tell from the output of dovecot -n?
> 
> imap# dovecot -n
> # 2.0.9: /usr/local/etc/dovecot/dovecot.conf
> # OS: FreeBSD 6.0-RELEASE-p5 i386
> auth_mechanisms = plain login cram-md5
> auth_verbose = yes
> base_dir = /var/run/dovecot/
> default_client_limit = 1005
> default_login_user = dovecot
> default_process_limit = 500
> disable_plaintext_auth = no
> dotlock_use_excl = yes
> first_valid_uid = 89
> last_valid_uid = 89
> log_path = /dev/stderr
> log_timestamp =
> passdb {
>   args = webmail=127.0.0.1
>   driver = vpopmail
> }
> plugin {
>   quota = maildir
> }
> protocols = imap
> service auth {
>   user = root
> }
> ssl_cert = </var/qmail/control/servercert.pem
> ssl_key = </var/qmail/control/servercert.pem
> userdb {
>   args = quota_template=quota_rule=*:backend=%q
>   driver = vpopmail
> }
> verbose_proctitle = yes
> 
> Matt
> 

Did some more digging and it looks like I can't use the -A flag if the
userdb is vpopmail. I would have to bypass and use the sql directly. Not
sure how I feel about that on a live mail server right now.

Matt


!DSPAM:509bc89b33991352880811!

Reply via email to