Включение оповещений при превышении квоты
ee /usr/local/etc/dovecot/conf.d/90-quota.conf
plugin {
quota = maildir:User quota
quota_rule = *:storage=500M
quota_rule2 = Trash:storage=+100M
quota_rule3 = Junk:ignore
quota_grace = 10%%
# Quota plugin can also limit the maximum accepted mail size.
#quota_max_mail_size = 100M
}
# Описываем SQL словарь
dict {
sqlquota = mysql:/usr/local/etc/dovecot/dovecot-dict-sql.conf.ext
}
plugin {
quota_warning = storage=95%% quota-warning 95 %u
quota_warning2 = storage=80%% quota-warning 80 %u
quota_warning3 = storage=70%% quota-warning 70 %u
quota_warning4 = storage=60%% quota-warning 60 %u
quota_warning5 = storage=50%% quota-warning 50 %u
}
service quota-warning {
executable = script /usr/local/bin/quota-warning.sh
unix_listener quota-warning {
user = nobody
group = nobody
mode = 0666
}
#user = dovecot
}
############# Проверяю ###########
service quota-warning {
executable = script /etc/dovecot/quota-warning.sh
unix_listener quota-warning {
user = vmail
group = mail
mode = 0660
}
}
service quota-exceeded {
executable = script /etc/dovecot/quota-exceeded.sh
unix_listener quota-exceeded {
user = vmail
group = mail
mode = 0660
}
}
plugin {
quota = dict:User quota::proxy::quota
quota_warning = storage=100%% quota-exceeded 100 %u
quota_warning2 = storage=90%% quota-warning 90 %u
quota_warning3 = storage=80%% quota-warning 50 %u
}
service quota-warning {
executable = script /etc/dovecot/quota-warning.sh
unix_listener quota-warning {
user = vmail
group = mail
mode = 0660
}
}
service quota-exceeded {
executable = script /etc/dovecot/quota-exceeded.sh
unix_listener quota-exceeded {
user = vmail
group = mail
mode = 0660
}
}
####################
Скрипт:
cat /usr/local/bin/quota-warning.sh
#!/bin/sh PERCENT=$1 USER=$2 cat << EOF | /usr/local/libexec/dovecot/dovecot-lda -d $USER -o "plugin/quota=maildir:User quota:noenforcing" From: postmaster@uni.ka Subject: quota warning Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit To: $USER Внимание! Ваш ящик заполнен на $PERCENT%. Attention! Your mailbox is now $PERCENT% full. EOF
Просмотр квоты пользователя (также можно просмотреть в WEB-интерфейсе PostfixAdmin)
doveadm quota get -u acc@uni.ka
Пересчитать квоту для конкретного пользователя
doveadm quota recalc -u acc@uni.ka
Проверка
/usr/local/bin/quota-warning.sh 85% acc@uni.ka

