When I use the following command: doveadm expunge -A mailbox Junk savedbefore 28d I get: doveadm(root): Error: User listing returned failure In the mail log file it says: dovecot: auth-worker(18549): Error: sql: Iterate query failed: Table 'system.users' doesn't exist (using built-in default iterate_query: SELECT username, domain FROM users) However this is setup: dovecot-sql.conf: iterate_query = SELECT username AS user FROM accounts though I have had to comment the following from dovecot.conf: #iteratedb { # args = /usr/local/etc/dovecot/dovecot-sql.conf # driver = sql #} because it errors on dovecot start up. I have already spent a bit of time on the Dovecot website and Google trying to find an answer. I want to get the expires plugin working. Any leads please? dovecot -n # 2.1.9: /usr/local/etc/dovecot/dovecot.conf # OS: Linux 2.6.29.6-rt24-smp i686 Slackware 13.1.0 auth_master_user_separator = * auth_mechanisms = plain login dict { expire = mysql:/usr/local/etc/dovecot/dovecot-dict-expire.conf quotadict = mysql:/usr/local/etc/dovecot/dovecot-dict-sql.conf } disable_plaintext_auth = no first_valid_gid = 1000 first_valid_uid = 1000 mail_access_groups = dovecot mail_location = Maildir:%h/Maildir mail_plugins = " expire" mail_privileged_group = mail managesieve_notify_capability = mailto managesieve_sieve_capability = fileinto reject envelope encoded-character vacation subaddress comparator-i;ascii-numeric relational regex imap4flags copy include variables body enotify environment mailbox date passdb { args = /usr/local/etc/dovecot/dovecot-sql.conf driver = sql } plugin { autocreate = Drafts autocreate2 = Junk autocreate3 = Sent autocreate4 = Trash autosubscribe = Drafts autosubscribe2 = Junk autosubscribe3 = Sent autosubscribe4 = Trash expire = Junk expire_dict = proxy::expire quota = dict:user::proxy::quotadict sieve = %h/.dovecot.sieve sieve_before = /var/lib/dovecot/sieve/before.sieve sieve_dir = %h/sieve sieve_global_dir = /var/lib/dovecot/sieve/global/ } protocols = imap pop3 sieve service auth { unix_listener /var/spool/postfix/private/auth { group = postfix mode = 0660 user = postfix } user = root } service dict { unix_listener dict { group = dovecot mode = 0660 } } service imap-login { inet_listener imap { address = DELETED } } service managesieve-login { executable = /usr/local/libexec/dovecot/managesieve-login } service managesieve { executable = /usr/local/libexec/dovecot/managesieve } ssl_cert = </etc/ssl/private/DELETED.pem ssl_key = </etc/ssl/private/DELETED.pem userdb { args = /usr/local/etc/dovecot/dovecot-sql.lda.conf driver = sql } userdb { args = /usr/local/etc/dovecot/dovecot-sql.conf driver = sql } protocol imap { mail_plugins = autocreate quota imap_quota zlib imap_zlib } protocol pop3 { mail_plugins = quota } protocol lda { hostname = DELETED mail_plugins = quota sieve postmaster_address = DELETED sendmail_path = /usr/sbin/sendmail } protocol sieve { mail_debug = yes }
Hi Michael, Michael wrote:> doveadm expunge -A mailbox Junk savedbefore 28d > doveadm(root): Error: User listing returned failure > > The mail log file says: > dovecot: auth-worker(18549): Error: sql: Iterate query failed: Table > 'system.users' doesn't exist (using built-in default iterate_query: > SELECT username, domain FROM users) > > dovecot-sql.conf: > iterate_query = SELECT username AS user FROM accountsSome examples in the wiki refer to "username", you could try this: iterate_query = SELECT username FROM accounts> though I have had to comment the following from dovecot.conf: > #iteratedb { > # args = /usr/local/etc/dovecot/dovecot-sql.conf > # driver = sql > #} > because it errors on dovecot start up.Your primary userdb refers to dovecot-sql.lda.conf, not dovecot-sql.conf. What does /usr/local/etc/dovecot/dovecot-sql.lda.conf look like and is there an iterate_query inside this file? Regards Daniel -- https://plus.google.com/103021802792276734820