E-Mail-Server 6: Dovecot-Mailquota
Am Anfang betreibt man einen Mailserver meist nur für wenige bekannte Benutzer. Mit der Zeit können aber einige hinzukommen. Und irgendwann brauchen die Mails, die ja in der Regel auf dem Server gespeichert bleiben, doch gehörig an Platz. Da ist es gut, wenn man die Benutzer zu ein wenig Hausputz animieren kann.
Das kann man am Besten indem man dem Postfach bestimmte Größenlimits zuweist. Dies geht mit diversen Mitteln, so kann man mit quota
eine Begrenzung auf Dateisystemebene aktivieren. Wer so weit nicht gehen möchte kann es aber auch Dovecot allein überlassen.Zunächst aktivieren wir das bereits mitgelieferte Plugin:
# /etc/dovecot/conf.d/90-plugin.conf
plugin {
mail_plugins = $mail_plugins quota
}
Außerdem werden noch folgende Plugineinstellungen in der IMAP-Konfig vorgenommen:
# /etc/dovecot/conf.d/20-imap.conf
mail_plugins = $mail_plugins trash quota imap_quota
Nun konfigurieren wir das Quota-Plugin:
# /etc/dovecot/conf.d/90-quota.conf
plugin {
quota_rule = *:storage=10G
quota_rule2 = Trash:storage=+500M
}
plugin {
quota_warning = storage=95%% quota-warning 95 %u
quota_warning2 = storage=80%% quota-warning 80 %u
}
service quota-warning {
executable = script /usr/local/bin/quota-warning.sh
user = dovecot
unix_listener quota-warning {
user = mail
}
}
plugin {
#quota = dirsize:User quota
quota = maildir:User quota
#quota = dict:User quota::proxy::quota
#quota = fs:User quota
}
Abschließend wird der Server neu gestartet: /etc/init.d/dovecot restart
Ist die Quotagrenze überschritten werden eingehende E-Mail standardmäßig abgelehnt, mit folgender Änderung ist es möglich zunächst erst einmal einen temporären Fehler zu erzeugen:
# /etc/dovecot/conf.d/15-lda.conf
quota_full_tempfail = yes