У меня есть VPS под CentOS 7 с почтовой системой Exim + Dovecot.
cat /etc/dovecot/conf.d/10-mail.conf
mail_privileged_group = mail
mail_access_groups = mail
mail_location = maildir:%h/mail/%d/%n
pop3_uidl_format = %08Xu%08Xv
mail_plugins = $mail_plugins quota
cat /etc/dovecot/conf.d/20-imap.conf
##
## IMAP specific settings
##
protocol imap {
mail_plugins = $mail_plugins autocreate imap_quota
}
plugin {
autocreate = Trash
autocreate2 = Spam
autocreate3 = Sent
autocreate4 = Drafts
#autocreate5 = Custom
autosubscribe = Trash
autosubscribe2 = Spam
autosubscribe3 = Sent
autosubscribe4 = Drafts
#autosubscribe5 = Custom
}
cat /etc/dovecot/conf.d/90-quota.conf
plugin {
quota = dict:User quota::file:%h/dovecot-quota
quota_rule = *:storage=10M:messages=1000
}
И Doveadm команда возвращает это:
doveadm quota get -u temp@atago.ru
Quota name Type Value Limit %
User quota STORAGE 11620 10240 113
User quota MESSAGE 4 1000 0
Как настроить Dovecot так, чтобы он не позволял доставлять электронные письма, когда почтовый ящик заполнен на 100%?
Вы должны объявить quota
плагин не только для imap
протокол, но для lda
протокол тоже, поскольку на этапе LDA квота проверяется на текущий размер maildir.
protocol imap {
mail_plugins = autocreate quota imap_quota
. . . . .
}
protocol lda {
mail_plugins = quota
. . . . .
}
Вам нужно использовать ограничение на объем почты Exim, или попросить Exim использовать Dovecot для распространения электронной почты. В вашем случае квота применяется только тогда, когда пользователь пытается загрузить почту путем перетаскивания со своего ПК на сервер IMAP.
смотреть на http://wiki.dovecot.org/LDA/Exim