Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
centos:mail_c7:dovecot_8 [07.08.2014 18:43. ] – [passwd] django | centos:mail_c7:dovecot_8 [18.11.2024 07:09. ] (aktuell) – Externe Bearbeitung 127.0.0.1 | ||
---|---|---|---|
Zeile 30: | Zeile 30: | ||
===== Konfiguration ===== | ===== Konfiguration ===== | ||
+ | ==== Quota-Limits ==== | ||
+ | Die Definition der Quota-Limits erfolgt mit Hilfe der **Quota-Rules** in der Konfigurationsdatei // | ||
+ | |||
+ | |||
+ | # vim / | ||
+ | <code bash>... | ||
+ | |||
+ | ## | ||
+ | ## Quota limits | ||
+ | ## | ||
+ | |||
+ | # Quota limits are set using " | ||
+ | # limits, you can set/ | ||
+ | # from userdb. It's also possible to give mailbox-specific limits, for example | ||
+ | # to give additional 100 MB when saving to Trash: | ||
+ | |||
+ | plugin { | ||
+ | #quota_rule = *: | ||
+ | # | ||
+ | |||
+ | # LDA/LMTP allows saving the last mail to bring user from under quota to | ||
+ | # over quota, if the quota doesn' | ||
+ | # long as quota will stay under 10% above the limit. Also allowed e.g. 10M. | ||
+ | # | ||
+ | # Django : 2014-08-06 | ||
+ | # default: unset | ||
+ | # jeder User bekommt im 1GB Mailstorage zugewiesen | ||
+ | quota_rule = *: | ||
+ | # jeder User kann 10k = 10.240 Nachrichten in der INBOX liegen haben | ||
+ | quota_rule2 = INBOX: | ||
+ | # jeder User darf im Unterverzeichnis Trash zusätzlich 125 MB haben | ||
+ | quota_rule3 = INBOX/ | ||
+ | # der Sent-Ordner wird bei der Bewertung ausgenommen | ||
+ | quota_rule4 = INBOX/ | ||
+ | # das Verzeichnis Order darf 25% overquota liegen | ||
+ | quota_rule5 = INBOX/ | ||
+ | # | ||
+ | # jeder user darf die Quota-Limitierung einmalig um 10% überschreiten | ||
+ | quota_grace = 10%% | ||
+ | } | ||
+ | </ | ||
+ | Die einzelnen Konfigurationsparameter sind in dem Konfigurationsbeispiel ausreichend beschrieben. | ||
+ | |||
+ | ==== Quota-Backend ==== | ||
+ | Beim Backend verwenden wir das äußerst robuste und stabile Maildir-Backend. Dovecot wird dabei die Quota-Definition und die aktuellen Werte in eine Datei **maildirsize** im Userverzeichnis verwenden. | ||
+ | |||
+ | Die Auswahl des Quota-Backends erfolgt am Ende der Konfigurationsdatei // | ||
+ | |||
+ | # vim / | ||
+ | <code bash>## | ||
+ | ## Quota backends | ||
+ | ## | ||
+ | |||
+ | # Multiple backends are supported: | ||
+ | # | ||
+ | # Extremely SLOW with Maildir. It'll eat your CPU and disk I/O. | ||
+ | # dict: Keep quota stored in dictionary (eg. SQL) | ||
+ | # | ||
+ | # fs: Read-only support for filesystem quota | ||
+ | |||
+ | plugin { | ||
+ | #quota = dirsize: | ||
+ | #quota = maildir: | ||
+ | #quota = dict:User quota:: | ||
+ | #quota = fs:User quota | ||
+ | # Django : 2014-08-06 | ||
+ | # default: unset | ||
+ | # Quota-Backend Maildir++ aktiviert | ||
+ | # ignoreunlimited : Für Benutzer ohne einem Quota-Limit wird keine Quota-Berechnung durchgeführt | ||
+ | # noenforcing | ||
+ | # | ||
+ | # ns=< | ||
+ | # | ||
+ | quota = maildir: | ||
+ | } | ||
+ | </ | ||
+ | |||
==== Quota-Plugin ==== | ==== Quota-Plugin ==== | ||
Zeile 436: | Zeile 513: | ||
</ | </ | ||
- | ==== Quota-Roots beim Quota-Backend maildir ==== | ||
Zeile 446: | Zeile 522: | ||
+ | ==== Quota-Warnung via eMail ==== | ||
+ | Zur Information der Endnutzer bei Überschreiten der Quota-Warnschwellen, | ||
- | http://wiki2.dovecot.org/Quota/Configuration | + | Die Definition der Warnschwellen **quota_warning** und des Service **quota-warning** erfolgt über die Konfigurationsdatei |
+ | # vim / | ||
+ | <code bash>... | ||
+ | |||
+ | # You can execute a given command when user exceeds a specified quota limit. | ||
+ | # Each quota root has separate limits. Only the command for the first | ||
+ | # exceeded limit is excecuted, so put the highest limit first. | ||
+ | # The commands are executed via script service by connecting to the named | ||
+ | # UNIX socket (quota-warning below). | ||
+ | # Note that % needs to be escaped as %%, otherwise "% " expands to empty. | ||
+ | |||
+ | plugin { | ||
+ | # | ||
+ | # | ||
+ | # Django : 2014-08-06 | ||
+ | # default: unset | ||
+ | # Quotawarnings aktiviert | ||
+ | quota_warning = storage=100%% quota-warning 100 %u | ||
+ | quota_warning2 = storage=95%% quota-warning 95 %u | ||
+ | quota_warning3 = storage=80%% quota-warning 80 %u | ||
+ | } | ||
+ | |||
+ | # Example quota-warning service. The unix listener' | ||
+ | # set in a way that mail processes can connect to it. Below example assumes | ||
+ | # that mail processes run as vmail user. If you use mode=0666, all system users | ||
+ | # can generate quota warnings to anyone. | ||
+ | # Django : 2014-08-06 | ||
+ | # default: unset | ||
+ | service quota-warning { | ||
+ | executable = script / | ||
+ | user = vmail | ||
+ | unix_listener quota-warning { | ||
+ | user = vmail | ||
+ | } | ||
+ | } | ||
+ | |||
+ | ... | ||
+ | </ | ||
+ | |||
+ | Beim Shell-Script orientieren wir uns an dem Musterbeispiel aus dem [[http:// | ||
# vim / | # vim / | ||
Zeile 454: | Zeile 571: | ||
PERCENT=$1 | PERCENT=$1 | ||
USER=$2 | USER=$2 | ||
- | cat << EOF | /usr/local/ | + | cat << EOF | / |
From: postmaster@nausch.org | From: postmaster@nausch.org | ||
- | Subject: Quota Warnung zu Ihrem eMail-Konto | + | To: $USER |
+ | Date: `date +"%a, %d %b %Y %H:%M:%S %z"` | ||
+ | Subject: Quota Warnung zu Ihrem eMailkonto! | ||
+ | Content-Type: text/html; charset=UTF-8 | ||
+ | Content-Transfer-Encoding: | ||
+ | |||
+ | Ihr Postkorb $USER ist aktuell zu $PERCENT% gefüllt. | ||
- | Ihr Postkorb $USER ist aktuell zu $PERCENT% gefüllt. | + | Bitte archivieren oder löschen Sie alte, nicht mehr benötige Nachrichten. Andernfalls |
+ | könnte es vorkommen, dass Sie keine neuen Nachrichten mehr empfangen könnten! | ||
- | Ihr Postmaster | + | Ihr Postmaster! |
EOF | EOF | ||
</ | </ | ||
- | # chmod +x / | + | Damit der Service **quota-warning** das Shell-Script als User **vmail** starten kann, setzen wir noch die Datei-(ausführungs)-Rechte des Scripts. |
+ | # chmod 700 / | ||
- | + | # chown vmail:vmail / | |
- | FIXME | + | |
Zeile 503: | Zeile 627: | ||
# der Client während der IMAP-Sitzung bei Überschreitung der gesetzten Schwellen erhält. | # der Client während der IMAP-Sitzung bei Überschreitung der gesetzten Schwellen erhält. | ||
plugin { | plugin { | ||
- | quota_exceeded_message = Quota überschritten, | + | quota_exceeded_message = Quota überschritten, |
} | } | ||
Zeile 509: | Zeile 633: | ||
</ | </ | ||
Zum Aktivieren der individualisierten Meldung muss noch ein **Reload** des **Dovecot-Daemon** durchgeführt werden. | Zum Aktivieren der individualisierten Meldung muss noch ein **Reload** des **Dovecot-Daemon** durchgeführt werden. | ||
- | # systemctl | + | # systemctl |
{{ : | {{ : | ||
+ | |||
+ | ==== 90-quota.conf Gesamtkonfigurationsdatei ==== | ||
+ | In Summe ergibt sich also folgende Gesamtkonfigurationsdatei unserer Quota-Einstellungen. | ||
+ | # vim / | ||
+ | <file bash / | ||
+ | ## Quota configuration. | ||
+ | ## | ||
+ | |||
+ | # Note that you also have to enable quota plugin in mail_plugins setting. | ||
+ | # < | ||
+ | |||
+ | ## | ||
+ | ## Quota limits | ||
+ | ## | ||
+ | |||
+ | # Quota limits are set using " | ||
+ | # limits, you can set/ | ||
+ | # from userdb. It's also possible to give mailbox-specific limits, for example | ||
+ | # to give additional 100 MB when saving to Trash: | ||
+ | |||
+ | plugin { | ||
+ | #quota_rule = *: | ||
+ | # | ||
+ | |||
+ | # LDA/LMTP allows saving the last mail to bring user from under quota to | ||
+ | # over quota, if the quota doesn' | ||
+ | # long as quota will stay under 10% above the limit. Also allowed e.g. 10M. | ||
+ | # | ||
+ | # Django : 2014-08-06 | ||
+ | # default: unset | ||
+ | # jeder User bekommt im 1GB Mailstorage zugewiesen | ||
+ | quota_rule = *: | ||
+ | # jeder User kann 10k = 10.240 Nachrichten in der INBOX liegen haben | ||
+ | quota_rule2 = INBOX: | ||
+ | # jeder User darf im Unterverzeichnis Trash zusätzlich 125 MB haben | ||
+ | quota_rule3 = INBOX/ | ||
+ | # der Sent-Ordner wird bei der Bewertung ausgenommen | ||
+ | quota_rule4 = INBOX/ | ||
+ | # das Verzeichnis Order darf 25% overquota liegen | ||
+ | quota_rule5 = INBOX/ | ||
+ | # | ||
+ | # jeder user darf die Quota-Limitierung einmalig um 10% überschreiten | ||
+ | quota_grace = 10%% | ||
+ | } | ||
+ | |||
+ | ## | ||
+ | ## Quota warnings | ||
+ | ## | ||
+ | |||
+ | # You can execute a given command when user exceeds a specified quota limit. | ||
+ | # Each quota root has separate limits. Only the command for the first | ||
+ | # exceeded limit is excecuted, so put the highest limit first. | ||
+ | # The commands are executed via script service by connecting to the named | ||
+ | # UNIX socket (quota-warning below). | ||
+ | # Note that % needs to be escaped as %%, otherwise "% " expands to empty. | ||
+ | |||
+ | plugin { | ||
+ | # | ||
+ | # | ||
+ | # Django : 2014-08-06 | ||
+ | # default: unset | ||
+ | # Quotawarnings aktiviert | ||
+ | quota_warning = storage=100%% quota-warning 100 %u | ||
+ | quota_warning2 = storage=95%% quota-warning 95 %u | ||
+ | quota_warning3 = storage=80%% quota-warning 80 %u | ||
+ | } | ||
+ | |||
+ | # Example quota-warning service. The unix listener' | ||
+ | # set in a way that mail processes can connect to it. Below example assumes | ||
+ | # that mail processes run as vmail user. If you use mode=0666, all system users | ||
+ | # can generate quota warnings to anyone. | ||
+ | # Django : 2014-08-06 | ||
+ | # default: unset | ||
+ | service quota-warning { | ||
+ | executable = script / | ||
+ | user = vmail | ||
+ | unix_listener quota-warning { | ||
+ | user = vmail | ||
+ | } | ||
+ | } | ||
+ | |||
+ | # Django : 2014-08-07 | ||
+ | # default: quota_exceeded_message = | ||
+ | # Individuelle Over-Quota-Nachricht mit link zum Wiki mit weiteren Informationen, | ||
+ | # der Client während der IMAP-Sitzung bei Überschreitung der gesetzten Schwellen erhält. | ||
+ | plugin { | ||
+ | quota_exceeded_message = Quota überschritten, | ||
+ | } | ||
+ | |||
+ | |||
+ | |||
+ | ## | ||
+ | ## Quota backends | ||
+ | ## | ||
+ | |||
+ | # Multiple backends are supported: | ||
+ | # | ||
+ | # Extremely SLOW with Maildir. It'll eat your CPU and disk I/O. | ||
+ | # dict: Keep quota stored in dictionary (eg. SQL) | ||
+ | # | ||
+ | # fs: Read-only support for filesystem quota | ||
+ | |||
+ | plugin { | ||
+ | #quota = dirsize: | ||
+ | #quota = maildir: | ||
+ | #quota = dict:User quota:: | ||
+ | #quota = fs:User quota | ||
+ | # Django : 2014-08-06 | ||
+ | # default: unset | ||
+ | # Quota-Backend Maildir++ aktiviert | ||
+ | # ignoreunlimited : Für Benutzer ohne einem Quota-Limit wird keine Quota-Berechnung durchgeführt | ||
+ | # noenforcing | ||
+ | # | ||
+ | # ns=< | ||
+ | # | ||
+ | quota = maildir: | ||
+ | } | ||
+ | |||
+ | # Multiple quota roots are also possible, for example this gives each user | ||
+ | # their own 100MB quota and one shared 1GB quota within the domain: | ||
+ | plugin { | ||
+ | #quota = dict: | ||
+ | #quota2 = dict: | ||
+ | #quota_rule = *: | ||
+ | # | ||
+ | } | ||
+ | </ | ||
==== Individuelle Quotas ==== | ==== Individuelle Quotas ==== | ||
- | In den seltensten Fällen werden wir nicht alle Mailbox-Inhalber über einen Kamm scheren können, wenn es um Speicherkontingenzte geht. So werden diejenigen, die mehr bezahlen mehr Speicherplatz zur Verfügung gestellt bekommen. Auch ist klar dass der **BOfH**((**B**astard **O**perator **f**rom **H**ell]] unlimitierten Platz bekommt, wie der Datenmessie eben weniger. | + | In den seltensten Fällen werden wir nicht alle Mailbox-Inhalber über einen Kamm scheren können, wenn es um Speicherkontingenzte geht. So werden diejenigen, die mehr bezahlen mehr Speicherplatz zur Verfügung gestellt bekommen. Auch ist klar dass der **BOfH**((**B**astard **O**perator **f**rom **H**ell)) unlimitierten Platz bekommt, wie der Datenmessie eben weniger. |
Abhängig von unserem **[[centos: | Abhängig von unserem **[[centos: | ||
Zeile 529: | Zeile 780: | ||
=== SQL === | === SQL === | ||
- | FIXME | + | Bei Nutzung eines MySQL-Backends zur Authentifikation können wir die Quota-Definition der eMail-Konten aus der Userverwaltung von **[[centos: |
+ | * < | ||
+ | | ||
+ | * < | ||
+ | | ||
+ | AND active = ' | ||
+ | |||
+ | Zum Testen, ob unser SQL-Statement das gewünschte Ergebnis liefert, verbinden wir uns von unserem Dovecot-Host aus mit unserer Datenbank. | ||
+ | Die Eingaben am Client sind in der Farbe < | ||
+ | |||
+ | < | ||
+ | <font style=" | ||
+ | <font style=" | ||
+ | <font style=" | ||
+ | You can turn off this feature to get a quicker startup with -A | ||
+ | |||
+ | < | ||
+ | Your MySQL connection id is 58334 | ||
+ | Server version: 5.1.73 Source distribution | ||
+ | |||
+ | Copyright (c) 2000, 2014, Oracle, Monty Program Ab and others. | ||
+ | |||
+ | Type ' | ||
+ | |||
+ | MySQL [postfix]> | ||
+ | <font style=" | ||
+ | | home | uid | gid | quota_rule | ||
+ | +-------------------------------+-------+-------+--------------------+ | ||
+ | | / | ||
+ | +-------------------------------+-------+-------+--------------------+ | ||
+ | <b>1 row in set (0.00 sec)</ | ||
+ | |||
+ | MySQL [postfix]> | ||
+ | <font style=" | ||
+ | | user | password | ||
+ | +-------------------+------------------+------------+------------+--------------------+ | ||
+ | | django@nausch.org | Dj4n90_d3r_G33k! | 10000 | 10000 | *: | ||
+ | +-------------------+------------------+------------+------------+--------------------+ | ||
+ | <b>1 row in set (0.00 sec)</ | ||
+ | |||
+ | MySQL [postfix]> | ||
+ | <font style=" | ||
+ | </ | ||
+ | |||
+ | ===== Quotas und doveadm ===== | ||
+ | ==== Neuberechnung mit recalc ==== | ||
+ | Hat man größere Migrationsarbeiten an einem Dovecot-Server hinter sich, oder musste auf ein Backup mehrerer User oder Maildomänen zurückgreifen, | ||
+ | Die Quota-Neuberechnung des User-Kontos // | ||
+ | # doveadm quota recalc -u django@nausch.org | ||
+ | |||
+ | Die Neuberechung aller Nutzrkonten würde dann mit folgendem Aufruf erfolgen: | ||
+ | # doveadm quota recalc -A | ||
+ | |||
+ | ==== Abfrage mit get ==== | ||
+ | Genau so, wie wir die Neuberechnung eines einzelnen Nutzerkontos anstossen können, ist auch die Abfrage der Quota-Daten eines Nutzers möglich. | ||
+ | # doveadm quota get -u django@nausch.org | ||
+ | |||
+ | Quota name Type Value Limit % | ||
+ | User quota STORAGE | ||
+ | User quota MESSAGE | ||
+ | |||
+ | Einen Überblick über alle Nutzerkonten erhält man mit der Option **-A**. | ||
+ | |||
+ | # doveadm quota get -A | ||
+ | |||
+ | | ||
+ | | ||
+ | | ||
+ | ... | ||
+ | |||
+ | ===== Quota-Status für den Frontend-Mailserver (Postfix-SMTP-Server) ===== | ||
+ | Unser Prontend-Mailserver nimmt eMails entgegen, sofern der postfix-Mailserver sich für die Maildomain zuständig, ein gültiges Userpostfach vorhanden sowie die ganzen SPAM- und AV((Anti Virus))-Maßnahmen überstanden wurden. Wird das Frontend-System anschließend die Post nicht beim Backendsystem los, bleibt ihm nichts anderes übrig, als die Nachricht zum Absender zurückzuschicken - ein sog. **// | ||
+ | |||
+ | Dovecot kann **Quota-Stati** unserem Frontend-Mailserver **[[centos: | ||
+ | |||
+ | ==== Dovecot Konfiguration ==== | ||
+ | Die Konfiguration des Quota-Policy-Daemon nehmen wir am Ende der Konfigurationsdatei // | ||
+ | |||
+ | # vim / | ||
+ | <code bash> | ||
+ | |||
+ | ## | ||
+ | ## Quota Policy Daemon | ||
+ | ## | ||
+ | |||
+ | # Django : 2014-08-07 | ||
+ | # Policy-Daemon für Postfix Frontend-Mailserver (MTA) | ||
+ | # Kapitel 11.11 "Der Quota-Policy-Server für Postfix" | ||
+ | # Dovecotbuch (ISBN 978-3-95539-74-7) Seite 219 ff. | ||
+ | # | ||
+ | service quota-status { | ||
+ | executable = quota-status -p postfix | ||
+ | inet_listener { | ||
+ | address = 10.0.0.70 | ||
+ | port = 10000 | ||
+ | } | ||
+ | client_limit = 1 | ||
+ | } | ||
+ | |||
+ | # | ||
+ | # quota_status_success | ||
+ | # quota_status_nouser | ||
+ | # könnte dafür ev. zuständig sein. | ||
+ | # quota_status_overquota : Errorcode und Fehlermeldung, | ||
+ | # Frontend-Mailserver (MTA) Postfix zurückgemeldet wird. | ||
+ | plugin { | ||
+ | quota_status_success = DUNNO | ||
+ | quota_status_nouser = DUNNO | ||
+ | quota_status_overquota = "552 5.2.2 Mailbox is over quota / Mailbox ist voll" | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | Zur Aktivierung der Konfigurationsänderung führen wir einen **Reload** unseres Dovecot-Servers durch. | ||
+ | # systemctl reload dovecot | ||
+ | |||
+ | Überprüfen wir nun die offenen Ports unseres Dovecot-Servers, | ||
+ | # netstat -tulpen | grep dovecot | ||
+ | |||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | |||
+ | |||
+ | ==== Paketfilter Konfiguration ==== | ||
+ | Damit nun nicht jeder fremde Host sich mit dem Port **10000** verbinden kann, regeln wir den Zugriff über eine Firewall-Regel so, dass nur der vorgeschaltete **MTA** Postfix-Mailserver sich mit unserem **Dovecot-Server** auf Port **10000** verbinden kann. | ||
+ | |||
+ | Unter **CentOS 7** wird als Standard-Firewall die dynamische **firewalld** verwendet. Ein großer Vorteil der dynamischen Paketfilterregeln ist unter anderem, dass zur Aktivierung der neuen Firewall-Regel(n) nicht der Daemon durchgestartet werden muss und somit alle aktiven Verbiundungen kurz getrennt werden. Sondern unsere Änderungen können **// | ||
+ | |||
+ | In unserem Konfigurationsbeispiel hat unser Postfix-Server die IP-Adresse 10.0.0.80 und unser Dovecot-Server die 10.0.0.70. Wir brauchen also eine Firewall-Definition, | ||
+ | |||
+ | Mit Hilfe des Programms **firewall-cmd** legen wir nun eine **permanente** Regel in der Zone **public**, dies entspricht in unserem Beispiel das Netzwerk-Interface **eth0** mit der IP **10.0.0.70** an. Als Source-IP geben wir die IP-Adresse unseres Postfix-Servers also die **10.0.0.80** an. Genug der Vorrede, mit nachfolgendem Befehl wird diese restriktive Regel angelegt. | ||
+ | # firewall-cmd --permanent --zone=public --add-rich-rule=" | ||
+ | |||
+ | Zum Aktivieren brauchen wir nun nur einen reload des Firewall-Daemon vornehmen. | ||
+ | # firewall-cmd --reload | ||
+ | |||
+ | Fragen wir nun den Regelsatz unserer **iptables**-basieten Firewall ab, finden wir in der Chain **IN_public_allow** unsere aktive Regel. | ||
+ | # iptables -nvL IN_public_allow | ||
+ | |||
+ | < | ||
+ | pkts bytes target | ||
+ | 0 0 ACCEPT | ||
+ | 0 0 ACCEPT | ||
+ | 0 0 ACCEPT | ||
+ | 0 0 ACCEPT | ||
+ | 0 0 ACCEPT | ||
+ | 0 0 ACCEPT | ||
+ | 0 0 ACCEPT | ||
+ | 0 0 ACCEPT | ||
+ | </ | ||
+ | |||
+ | ==== Postfix Konfiguration ==== | ||
+ | Wie schon angesprochen, | ||
+ | |||
+ | Bei der Installation und **[[centos: | ||
+ | # vim / | ||
+ | <code bash> | ||
+ | |||
+ | # | ||
+ | # Django : 2012-02-06 | ||
+ | # Schutz durch Restrictions für unseren Postfix-Mailserver | ||
+ | # | ||
+ | |||
+ | smtpd_recipient_restrictions = | ||
+ | # Postmaster, abuse und andere aufgaben- oder funktionsgebundene E-Mail-Adressen (Role-Accounts) whitelisten | ||
+ | check_recipient_access btree:/ | ||
+ | # Black- und Whitelisting | ||
+ | check_client_access cidr:/ | ||
+ | check_helo_access btree:/ | ||
+ | check_sender_access btree:/ | ||
+ | check_recipient_access btree:/ | ||
+ | # Unsauberer eMails nicht annehmen | ||
+ | reject_non_fqdn_sender, | ||
+ | reject_non_fqdn_recipient, | ||
+ | reject_unknown_sender_domain, | ||
+ | reject_unknown_recipient_domain, | ||
+ | # Unsere eigenen Nutzer zulassen-/ | ||
+ | permit_sasl_authenticated, | ||
+ | permit_mynetworks, | ||
+ | # RBL überprüfen | ||
+ | reject_rbl_client zen.spamhaus.org, | ||
+ | reject_rbl_client ix.dnsbl.manitu.net, | ||
+ | reject_rbl_client bl.spamcop.net, | ||
+ | reject_rhsbl_client multi.uribl.com, | ||
+ | # Greylisting via postgrey checken via Unix-Socket | ||
+ | check_policy_service unix: | ||
+ | # Policyd-Weight check over TCP-Connection | ||
+ | check_client_access btree:/ | ||
+ | check_policy_service inet: | ||
+ | # Dynamische Prüfung auf existente Relay-Empfänger | ||
+ | reject_unverified_recipient, | ||
+ | # Backupserver (MX) erlauben | ||
+ | permit_mx_backup, | ||
+ | # alles andere an relaying verbieten | ||
+ | reject_unauth_destination, | ||
+ | # Quota-Status-Policy-Daemon am Dovecot-Backend-System | ||
+ | # Dovecotbuch (ISBN 978-3-95539-74-7) Seite 219 ff. | ||
+ | check_policy_service inet: | ||
+ | # Zu guter Letzt alles durchlassen, | ||
+ | permit | ||
+ | |||
+ | ... | ||
+ | </ | ||
+ | |||
+ | Zum Aktivieren der Konfigurationsänderung starten wir den Postfix-Mailserver einmal durch. | ||
+ | # systemctl restart postfix | ||
+ | |||
+ | |||
+ | ===== Mailclient auf Benutzerseite ===== | ||
+ | Mailclients haben bisweilen sehr unterschiedliche Arten, die Informationen aus dem **imap_quota** Plugin darzustellen. | ||
+ | ==== kMail ==== | ||
+ | kMail stelle die Informationen des **imap_quota-// | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | Wir die Quota überschritten wir zusätzlich der Ordner-Name mit der Schriftfarbe **rot** dargestellt. | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | ==== Thunderbird ==== | ||
+ | Im Gegensatz zum Mailclient kMail, stellt Thunderbird keine Informationen zur Quota-Auslastung in der Statuszeile an, wenn der Schwellwert noch nicht errreicht wurde. | ||
+ | |||
+ | Ist die Quota-Informationsgrenze noch nicht erreicht, wird in der Statusleiste keine Information zum aktuellen Stand der Quota zur Verfügung gestellt. | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | Erst bei erreichen der Schwelle wir eine Information angezeigt. | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | Abhilfe schafft da das **[[https:// | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | Wird es installiert, | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | Entsprechend ist hier die Anzeige bei Überschreitung der Quota-Einstellungen. | ||
+ | |||
+ | |||
+ | {{ : | ||
+ | |||
+ | ==== Horde Framework/ | ||
+ | Auch die Nutzer des Webmailers **IMP** unserer Horde-Framework-Installation kommen natürlich in den Genuß der Quota-Anzeige. Wir müssen diese lediglich in der Konfig aktivieren. Hierzu öffnen wir die **backends.local.php** und tragen nachfolgende Zeilen nach. | ||
+ | # vim / | ||
+ | <code php> | ||
+ | |||
+ | $servers[' | ||
+ | // Disabled by default | ||
+ | // Django : 2013-02-01 | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ), | ||
+ | // Django : 2014-08-11 | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ) | ||
+ | ), | ||
+ | // | ||
+ | ' | ||
+ | ' | ||
+ | ); | ||
+ | |||
+ | ... | ||
+ | </ | ||
+ | |||
+ | Sobald wir uns bei unserem Horde-Webmailer anmelden und die Applikation **IMP** auswählen, wird der aktuelle Status zur Quota-Belegung in der Statuszeile angezeigt. | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | |||
+ | |||
+ | ====== Links ====== | ||
+ | * **[[centos: | ||
+ | * **[[wiki: | ||
+ | * **[[http:// | ||