[Postfixbuch-users] Suche policy-Dienst für Quotas

Thomas Schwenski mailing-lists at thomasschwenski.de
So Mai 31 21:29:09 CEST 2009


Hallo Stefan

>> Such mal im Archiv - ich hatte schon ein-, zweimal ein paar Worte dazu
>> verloren, was ein quota-Policy-Daemon beherrschen sollte.
> 
> habe ich gefunden. Gute Anfoderungsdefinition - so weit bin ich noch
> nicht.

Das Projekt gährte damals bei mir schon einige Monate.
Eine Umsetzung mittel Postifx-Spawn ist eigentlich fast "problemlos".
(Dazu gibt's unter http://postfix.org/ sogar eine Anleitung.)
Das war mir zu "trivial", ich wollte es mit einem Preforking-Daemon lösen.

> Die Idee war eigentlich, daß in die Restriktionen zum Zeitpunkt
> smtpd_end_of_data_restrictions zu hängen - nur dummerweise hat man
> _da_ dann keinen Zugriff auf das "recipient=..."-Attribut.

Eben - deshalb hatte ich Dich auf meinen "Entwurf" hingewiesen.

> Abhilfe fällt mir hier jetzt nur sehr dreckig ein: Einen
> content_filter vorschalten und dafür Sorgen, daß der immer nur jeweils
> einen Recipient an den nachgeschalteten smtpd weitergibt.

Das halte ich wirklich für eine "sehr schmutzige" Lösung.
Was für meinen Entwurf spricht hatte ich ja mit begründet:
Empfängerspezifisches Abweisen auf Grund der "freiwilligen"
Größenangabe, absolutes Abweisen aufgrund der selbst ermittelten Größe.
Mit entsprechenden Meldungen (die der Absender am Ende auch nur wieder
ungelesen löscht :( ) ist das kein Problem.
Nachteil: der Policy-Daemon muss in den smtpd_recipient_restrictions UND
in den smtpd_end_of_data_restrictions eingebunden werden -
Verwaltungsoverhead und mehr Aufwand bei der Programmierung bzw. mehr
Resourcen-Bedarf durch die doppelte Ausführung.
Das Ganze ließe sich nur durch den Einsatz einer zusätzlichen Datenbank
etwas beschränken - was wiederum etwas mehr Entwicklungsarbeit
bedeuten würde.


> Problematisch sind auch die (virtual_)alias_maps: Hier kann es sein,
> daß der Dämon dann keinen Empfänger findet.

Das sehe ich nicht so - um den Daemon Portabel zu halten muss natürlich
die Datenbank-Abfrage variabel gehalten zu werden.
Zumindest bei Einsatz von SQL als Backend sollte da einiges machbar sein.
Im Zweifelsfall passt man sein Setup eben so an, dass es für alles einen
Datensatz gibt.

Bei mir sind z.B. die Maildirs und die E-Mail-Adressen auf zwei
Datenbank-Tabellen verteilt, die per INNER JOIN verknüpft werden.
(Zwecks Ausfallsicherheit wird das dann aber per Script ausgelagert.)

> Fazit: Habe ich mir zu einfach vorgestellt. Mit einem "Schnellschuß"
> wird sich das nicht erledigen lassen.

Ein Schnellschuss reicht da sicher nicht aus - Du konntest ja lesen wie
lange ich das Projekt schon vor mir herschiebe - die nötigen
Dokumentationen liegen schon lange bereit.
Nur an der Zeit mangelt es mir leider.

Thomas



Mehr Informationen über die Mailingliste Postfixbuch-users