[Dovecot-de] Dovecot Quota via policy service abfragen

Andreas Meyer anmeyer at anup.de
So Apr 7 14:22:36 CEST 2013


Hallo!

Ralf Hildebrandt <r at sys4.de> wrote:

> Mit Dovecot-2.2 (und wohl auch backported nach 2.1 - so hatte ich das
> verstanden) kann man nun aus Postfix heraus den Füllstand einer Mailbox
> auf einem Dovecot-Server abfragen. Somit kommt man nicht mehr in
> Verlegenheit, Mails für "volle" Mailboxen anzunehmen und diese deshlab
> später bouncen zu müssen (Backscatter):
> 
> http://sys4.de/de/blog/2013/04/05/dovecot-quota-mit-postfix-abfragen/

Hat jemand mal versucht, den quota-status mit postfix abzufragen?
Ich habe das nach Ralf's Anleitung versucht umzusetzen, erhalte aber
nur

Apr  7 14:07:52 delta postfix/qmgr[19078]: 1D8921B31260: from=<anmeyer at anup.de>, size=1492149, nrcpt=1 (queue active)
Apr  7 14:07:53 delta postfix/pipe[19091]: 1D8921B31260: to=<miles at anup.de>, relay=dovecot, delay=2542, delays=2542/0.01/0/0.29, dsn=4.3.0, status=deferred (temporary failure)

plugin {
    quota = maildir:User quota
    quota_grace = 10%%
    quota_rule = *:storage=500MB
    quota_rule2 = Trash:storage=+10%%

    quota_status_success = DUNNO
    quota_status_nouser = DUNNO
    quota_status_overquota = 552 5.2.2 Mailbox is full / Mailbox ist voll
   
    autocreate = Trash
    autocreate2 = Drafts
    autocreate3 = Sent
    
    autosubscribe = Trash
    autosubscribe2 = Drafts
    autosubscribe3 = Sent
}

service quota-status {
    executable = quota-status -p postfix
    inet_listener {
        port = 12340
    }
    client_limit = 1
}

und in der main.cf
warn_if_reject check_policy_service inet:127.0.0.1:12340
als letzte smtpd_recipient_restriction und 127.0.0.1 damit kein
port in der firewall geöffnet werden muss.

# netstat -pantu |grep 12340
tcp        0      0 0.0.0.0:12340           0.0.0.0:*               LISTEN      19150/dovecot       
tcp        0      0 :::12340                :::*                    LISTEN      19150/dovecot


Im dovecot.log erhalte ich dann nur:

Apr 07 14:07:52 lda(miles at anup.de): Error: sieve: msgid=<20130407132445.77baab8a at itxnew.bitcorner.intern>: failed to store into mailbox 'INBOX': Quota exceeded (mailbox for user is full)
Apr 07 14:07:52 lda(miles at anup.de): Error: sieve: script /var/spool/vhosts/anup.de/miles/.dovecot.sieve failed with unsuccessful implicit keep (user logfile /var/spool/vhosts/anup.de/miles/.dov
ecot.sieve.log may reveal additional details)

Also ich vermisse das reject-warning von postfix und es hat auch nicht den
Anschein, dass postfix den Status der Quota bei dovecot über port 12340
abfrägt.

BTW kann man dem inet_listener außer dem port auch den hostnamen mitgeben?

Schönen Sonntag!

  Andreas


Mehr Informationen über die Mailingliste Dovecot