Назад | Перейти на главную страницу

как правильно использовать doveadm -A

Я хотел бы использовать doveadm для удаления (и других). Когда я бегу

 doveadm search -u 'some@email.com' mailbox Trash savedbefore 90d

оно работает. Но когда я использую -A, этого не происходит.

 doveadm search -A mailbox Trash savedbefore 90d

Результат (с возможностью отладки)

doveadm(root): Error: userdb list: Request timed out
doveadm(root): Debug: expire: Couldn't optimize search query: mailbox Trash not in expire database

doveadm: Error: Failed to iterate through some users

у меня dovecot.conf интересные настройки:

first_valid_gid = 107
first_valid_uid = 107
last_valid_gid = 107
last_valid_uid = 107
protocols = imap
service auth {
  unix_listener /var/spool/postfix/private/auth {
    group = postfix
    mode = 0660
    user = postfix
  }
  unix_listener auth-master {
    group = mail
    mode = 0666
    user = vmail
  }
  user = nobody
}
protocol imap {
  mail_plugins = $mail_plugins imap_acl
}
protocol lda {
  auth_socket_path = /var/run/dovecot/auth-master
  hostname = brzezina.com.pl
  mail_plugin_dir = /usr/lib/dovecot/modules/
  mail_plugins = sieve
  postmaster_address = postmaster@brzezina.com.pl
  sendmail_path = /usr/sbin/sendmail
}
mail_plugins = $mail_plugins expire
plugin {
  expire = Trash
  expire = Trash/*
  expire = Spam
  expire_dict = proxy::expire
}

Моя userdb находится в postgresql, а dovecot-sql.conf.ext имеет раскомментированный iterate_query:

# Query to get a list of all usernames.
iterate_query = SELECT address AS user FROM users

Я полагаю, что поскольку я запускаю его от root, он пытается найти системную userdb, но должен использовать sql userdb. Но не знаю, как это заставить. Я пытался использовать -S, но не знаю что.