Включаем поддержку квотирования. В файле /etc/dovecot/conf.d/10-mail.conf
, подключим плагин управления квотами. Для этого, раскомментируем следующий строку и приведем к такому виду:
mail_plugins = $mail_plugins quota
С файлом /etc/dovecot/conf.d/20-imap.conf
проделываем такую штуку:
protocol imap { mail_plugins = $mail_plugins imap_quota }
В файле /etc/dovecot/conf.d/10-master.conf
проделываем дыру творим такое непотребство:
service dict { unix_listener dict { mode = 0660 user = vmail group = vmail } }
Так же, если остались еще силенки, откроем и отредактируем /etc/dovecot/conf.d/90-quota.conf
plugin { quota = dict:User quota::proxy::quota }
Ну и в основном конфигурационном файле dovecot /etc/dovecot/dovecot.conf
, в моем случае снимаем комментарий:
dict { quota = mysql:/etc/dovecot/dovecot-dict-sql.conf.ext }
После того, как подкрутили все конфиги, пришла пора создать настройки выгрузки квот. Делается это в файле /etc/dovecot/dovecot-dict-sql.conf.ext
. Приведем указанные директивы к такому виду:
connect = host=localhost dbname=db_name user=user_name password=P@$$w0rd map { pattern = priv/quota/storage table = quota2 username_field = username value_field = bytes } map { pattern = priv/quota/messages table = quota2 username_field = username value_field = messages }
В файле /etc/dovecot/dovecot-sql.conf.ext
создадим пользовательский запрос, который как раз и будет получать информацию о пользовательских квотах.
user_query = SELECT email AS user, '5000' AS uid, '5000' AS gid, \ concat('*:bytes=', quota) AS quota_rule \ FROM virtual_users WHERE email = '%u' AND active = '1'
После всего этого, проверяем конфигурацию голубятни и перезагружаем ее:
systemctl restart dovecot.service
Казалось бы, после того, как мы столько пережили вместе, ничто не предвещало беды… В общем все это, у меня заработало только после того как я установил Postfixadmin. До этого у меня жаловался на отсутствие таблицы - quota2.
Проверить завелись ли квоты, можно простой командой:
doveadm quota get -u vasyn@example.com Quota name Type Value Limit % User quota STORAGE 18312 - 0 User quota MESSAGE 3 - 0