[Postfixbuch-users] Postfix / Cyrus / OverQuota im SMTP Dialog

Peer Heinlein p.heinlein at heinlein-support.de
Sa Feb 28 15:19:14 CET 2009


Am Samstag, 28. Februar 2009 schrieb Martin:

> Postfix weiß ja erst nach zustellen an Cyrus, dass die Mailbox voll
> ist, da ja Cyrus das meldet. 

Jau, ein Dilämma, über das aich auch häufiger stolpere.

> Weiterhin weiß Postfix ja erst nach 
> Annahme der Mail, an welches Postfach diese soll. Vorher ist ja nur die
> Mailadresse des Empfängers bekannt.

Meine grundsätzlicher Ansatz wäre:

Ein separates Script (außerhalb Dovecot/Cyrus) prüft die Quotas.  Ein "du" 
auf das Maildir muß reichen, 100%ig genau muß es nicht sein. Dieses 
Script muß die Mailadressen in einer DB (wie auch immer) 
vermerken/sperren.

Diese DB wird dann von Postfix als check_recipient_access ausgewertet und 
wirft dann für die betroffenen Nutzer temporäre oder fatale Fehler aus.

Alternativ ein Policy-Dämon, aber eine einfache access-Map würde ja 
reichen.

Eine andere Crash-Idee kam mir allerdings noch soeben. Ist ungetestet, 
müßte aber gehen wenn LMTP etc. zum Einsatz kommt. Man nutzt Adress 
Verification und setzt die Cache-Zeiten sehr gering -- beispielsweise 30 
Minuten oder so. Oder man läßt die DB weg, dann wird ja gar nicht gecacht 
sondern alles in Echtzeit verifiziert.

Dann "lernt" Postfix einen 4xx Overquota-Reject von Cyrus umgehend und 
reicht das nach draußen weiter.

Die zusätzliche Last dürfte in vielen Fällen zu verschmerzen sein und 
damit könnte man das wahlweise als "quick & dirty" oder eben auch 
als "quick und very eleganter Trick" ansehen.  :-)

Peer




-- 
Heinlein Professional Linux Support GmbH
Linux: Akademie - Support - Hosting

http://www.heinlein-support.de

Zwangsangaben lt. §35a GmbHG:
HRB 93818 B / Amtsgericht Berlin-Charlottenburg, 
Geschäftsführer: Peer Heinlein  -- Sitz: Berlin



Mehr Informationen über die Mailingliste Postfixbuch-users