Решил квотирование ящиков сделать с помощью Dovecot.
Итак, квотирование и письмо о предупреждении того что ящик скоро переполнится работает как часы для пользователей.
Например, код:
Код: Выделить всё
plugin {
quota = maildir:user quota
quota_rule = *:storage=5M
quota_warning = storage=50%% /usr/local/bin/quota-warning.sh 50
}
разумней тащить все из базы для каждого пользователся отдельно. Благо http://wiki.dovecot.org/Quota/1.1 нам говорит об этом как раз:
Next override the default 1GB quota for users:
Код: Выделить всё
# MySQL:
user_query = select uid, gid, home, \
concat('*:bytes=', quota_bytes) as quota_rule \
from users where userid = '%u'
Код: Выделить всё
user_query = SELECT 501 AS uid, 501 AS gid, concat('*:storage=', quota, 'M') FROM mailbox WHERE username = '%n' AND domain='%d'
может я чего-то не уловил...может довкотовские вики не вчитал как следует..не ясно...
PS:
в логах:
Код: Выделить всё
dovecot: 2009-06-16 13:56:52 Info: auth(default): master out: USER 70 test@test.ru uid=501 gid=501 concat('*:storage=', quota, 'M')=*:storage=20M
dovecot: 2009-06-16 13:56:52 Info: pop3-login: Login: user=<test@test.ru>, method=PLAIN, rip=192.168.1.2, lip=192.168.1.1
dovecot: 2009-06-16 13:56:52 Info: POP3(test@test.ru): Loading modules from directory: /usr/local/lib/dovecot
dovecot: 2009-06-16 13:56:52 Info: POP3(test@test.ru): Module loaded: /usr/local/lib/dovecot/lib10_quota_plugin.so
dovecot: 2009-06-16 13:56:52 Info: POP3(test@test.ru): Effective uid=501, gid=501, home=
dovecot: 2009-06-16 13:56:52 Info: POP3(test@test.ru): Quota root: name=user quota backend=maildir args=
dovecot: 2009-06-16 13:56:52 Info: POP3(test@test.ru): Quota rule: root=user quota mailbox=* bytes=5242880 messages=0
dovecot: 2009-06-16 13:56:52 Info: POP3(test@test.ru): Quota warning: bytes=2621440 (50%) messages=0 command=/usr/local/bin/quota-warning.sh 50
dovecot: 2009-06-16 13:56:52 Info: POP3(test@test.ru): maildir: data=/var/mail/test.ru/test
dovecot: 2009-06-16 13:56:52 Info: POP3(test@test.ru): maildir++: root=/var/mail/test.ru/test, index=, control=, inbox=/var/mail/test.ru/test
dovecot: 2009-06-16 13:56:52 Info: POP3(test@test.ru): Disconnected: Logged out top=0/0, retr=0/0, del=0/4, size=3257865
PPS: dovecot-1.1.15