Mail-Quotas (Ubuntu 18.04)

Aus Tutorials
Zur Navigation springen Zur Suche springen

Noch in Bearbeitung


Konfiguration

Per-user quota

Dazu ist wichtig, dass in der Datei /etc/dovecot/conf.d/auth-sql.conf.ext (siehe Dovecot#Benutzer_Authentifizierung) folgende Zeilen einkommentiert werden:

sudo vi /etc/dovecot/conf.d/auth-sql.conf.ext
userdb {
  driver = sql
  args = /etc/dovecot/dovecot-sql.conf.ext
}


Und in der Datei /etc/dovecot/dovecot-sql.conf.ext

sudo vi /etc/dovecot/dovecot-sql.conf.ext

folgende Zeile hinzugefügt / angepasst wird:

user_query = SELECT concat('*:storage=', quota, 'M') AS quota_rule FROM mailbox WHERE local_part = '%n' AND domain = '%d'

10-mail.conf

In der Datei /etc/dovecot/conf.d/10-mail.conf folgene Zeilen erweitern:

sudo vi /etc/dovecot/conf.d/10-mail.conf
mail_plugins = $mail_plugins quota

20-imap.conf

In der Datei /etc/dovecot/conf.d/20-imap.conf folgene Zeilen erweitern:

sudo vi /etc/dovecot/conf.d/20-imap.conf
protocol imap {
    mail_plugins = $mail_plugins imap_quota
}

90-quota.conf

In der Datei /etc/dovecot/dovecot.conf folgene Zeilen hinzufügen:

sudo vi /etc/dovecot/conf.d/90-quota.conf
##
## Quota limits
##
plugin {  
    quota = maildir:User quota

    quota_grace = 10%%  
}

Warnungen bei Überschreiten der Quote

90-quota.conf

In der Datei /etc/dovecot/dovecot.conf

sudo vi /etc/dovecot/conf.d/90-quota.conf

folgene Zeilen hinzufügen:

##
## Quota warnings
##
plugin {  
    quota_warning = storage=66%% quota-warning 66 %u
    quota_warning2 = storage=80%% quota-warning 80 %u
    quota_warning3 = storage=95%% quota-warning 95 %u 
}

service quota-warning {
  executable = script /usr/local/bin/quota-warning.sh
  user = vmail
  unix_listener quota-warning {
       group = vmail
       mode = 0660  
       user = vmail 
  }
}

quota-warning.sh

Die Datei

sudo vi /usr/local/bin/quota-warning.sh

mit folgenden zeilen befüllen:

#!/bin/sh
PERCENT=$1
USER=$2
ADMIN="admin@<domain>"
FROM="postmaster@<domain>"

msg="From: $FROM
To: $USER
Bcc: $ADMIN
Subject: Quota-Warnung $PERCENT% 

Lieber Nutzer,
    
das Postfach $USER ist derzeit zu 

$PERCENT% gefuellt.

Bitte einige Mails loeschen.
       
Herzlichen Dank
Ihr Mail-Service Team."

echo -e "$msg" | /usr/sbin/sendmail -t -f $FROM "$USER"

exit 0

Ablehnung durch Postfix, wenn Postfach voll

91-quota-status.conf

Die Datei

sudo vi /etc/dovecot/conf.d/91-quota-status.conf

erstellen (ist momentan nicht vorbereitet) und mit folgenden Inhalt befüllen (Port frei wählbar):

service quota-status {
 executable = quota-status -p postfix
 inet_listener {
   address = 127.0.0.1
   port = 12340
 }
 client_limit = 1
}

plugin {
 quota_status_success = DUNNO
 quota_status_nouser = DUNNO
 quota_status_overquota = "552 5.2.2 Mailbox is over quota / Mailbox ist voll"
}

main.cf

In der Datei

sudo vi /etc/postfix/main.cf 

bei smtpd_recipient_restrictions vor allen anderen Optionen folgende Anweisung einfügen:

smtpd_recipient_restrictions = 
    check_policy_service inet:127.0.0.1:12340,
    ..., 
    ...

Links

https://doc.dovecot.org/configuration_manual/quota_plugin/

https://wiki.dovecot.org/Quota/Configuration

https://www.debacher.de/wiki/Mail-Quotas_mit_Dovecot

https://dokuwiki.tachtler.net/doku.php?id=tachtler:dovecot_quotas

https://thomas-leister.de/mailserver-debian-stretch/


Zurück zu Mailserver einrichten