[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