muss Postfix 2.11 mit VDA-Patch für Benutzer oder Domänen gepatcht werdenKontingentunterstützung, wenn Dovecot 2.2.x als IMAP-Server verwendet wird? Ich verwende Ubuntu 14.04 LTS mit Postfixadmin 2.3. Ich freue mich über jede nützliche Arbeitsanleitung. Danke
dovecot -n Ausgabe
master.cf
Katze dovecot-sql.conf.ext
Treiber = MySQL Verbindung = Host = 127.0.0.1 Datenbankname = Postfixadmin Benutzer = Postfixadmin Passwort = XXXXXXXX Standardpasswortschema = MD5-CRYPT
password_query = SELECT Benutzername als Benutzer, Passwort FROM Mailbox WHERE Benutzername='%u'; user_query = SELECT Maildir AS Home, 5000 AS UID, 5000 AS Gid, CONCAT("*:bytes=",quota) AS Quotenregel FROM Mailbox WHERE Benutzername = '%n@%d' AND aktiv=1;
Antwort1
Wenn Sie nicht versuchen, LDA selbst durchzuführen und stattdessen postfix
Dovecots aufrufen , müssen Sie überhaupt nichts über Quoten wissen.deliver
postfix
Wenn Sie für die Verwaltung virtueller Domänen verwendet haben postfixadmin
, verfügen Sie bereits über alles, was Sie für Kontingentbeschränkungen benötigen. Sie müssen dovecot
die SQL-Abfrage ändern, um die Benutzerkontingente abzurufen:
user_query = SELECT maildir AS home, \
26 AS uid, \
26 AS gid, \
CONCAT("*:bytes=",quota) AS quota_rule \
FROM mailbox \
WHERE username = '%n@%d' \
AND active=1;
(kopieren Sie dieses Beispiel nicht blind, sondern verwenden Sie es als Vorlage)
Anschließend müssen Sie das Quota-Plugin und den Warndienst imdovecot.conf
AKTUALISIERT:
. . . . . .
# this line enable quota plugin!
mail_plugins = quota
# here is the plugin's configuration
plugin {
quota = maildir:User quota
quota_rule = Junk:ignore
quota_rule2 = Trash:storage=+100M
quota_warning = storage=90%% quota-warning 90 %u %d
quota_warning2 = storage=80%% quota-warning 80 %u %d
quota_exceeded_message = ERROR:422 - Mailbox full, sorry.
. . . . .
}
. . . . .
service quota-warning {
executable = script /path/to/the/overquota.sh
user = $mail_uid
group = $mail_gid
unix_listener quota-warning {
user = $mail_uid
group = $mail_gid
}
}
. . . . .
overquota.sh
sollte so aussehen:
#!/bin/sh
cat << EOT | /usr/local/libexec/dovecot/dovecot-lda -d $2 -o "plugin/quota=maildir:User quota:noenforcing"
From: postmaster@$3
To: $2
Subject: == Quota warning ==
Content-Type: text/plain; charset="UTF-8"
Your mailbox is $1% full, so clean up your mess, please!
EOT
exit 0
####
Wenn Dovecot deliver
versucht, die Nachricht im Posteingang zu speichern, prüft es, ob das Kontingent die vordefinierten Schwellenwerte von 80 % und 90 % erreicht hat oder nicht. Wenn dies der Fall ist, wird der Kontingent-Warndienst aufgerufen und ein Skript gestartet, das eine Warnmeldung in das Postfach einfügt – ohne weitere Kontingentprüfung.