> 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 !DSPAM:509bbb4333991211014679!