# mailbox quota greift nicht



## Rupertt (22. Sep. 2010)

Hallo,

ich teste gerade alle Funktionen von ispconfig3.
Ich habe einer mailbox 4MB mailboxquota gegeben, leider kann ich
unendlich mails mit attachment dorthin senden ohne das ich eine meldung bekomme.
Auch zeigt der thunderbird mir kein quota unte /Eigenschaften/Quota an.
In der main.cf finden sich einige Einträge dazu, dovecont ist für imap eingerichtet

```
#mailbox_size_limit = 4194304
message_size_limit = 2097152
...
virtual_create_maildirsize = yes
virtual_maildir_extended = yes
virtual_mailbox_limit_maps = proxy:mysql:/etc/postfix/mysql-virtual_mailbox_limit_maps.cf
virtual_mailbox_limit_override = yes
virtual_maildir_limit_message = "The user you are trying to reach is over quota."
```
Fehlt mir hier noch etwas?

edit:

mh, die datei /etc/postfix/mysql-virtual_mailbox_limit_maps.cf gibs garnicht, sollte die bei der Installation angelegt werden?
Ich habe die datei erstellt mit folgenden Einträgen:

```
user = ispconfig
password = pass
dbname = dbispconfig
table = mail_user
select_field = quota
where_field = email
hosts = 127.0.0.1
```
ein postmap meckert nicht, quota funktioniert aber immer noch nicht
Gruß


----------



## Till (22. Sep. 2010)

Mit Quota hat dies eDatei nichts zu tun. Wenn die Datei fehlt dann verwendest Du wohl eine rechte alte ISPConfig Version. 

1) Welche exakte Version hast Du denn installiert?
2) Welchen LDA verwendest Du? Maildrop oder deliver?


----------



## Rupertt (23. Sep. 2010)

ispconfig ist die aktuelle VErsion (ISPConfig-3.0.2.2).

der MDA scheint doch maildrop zu sein, in der master.cf taucht dies auf

```
#
# maildrop. See the Postfix MAILDROP_README file for details. 
# Also specify in main.cf: maildrop_destination_recipient_limit=1
#
maildrop  unix  -       n       n       -       -       pipe 
  flags=DRhu user=vmail argv=/usr/bin/maildrop -d ${recipient} ${extension} ${recipient} ${user} ${nexthop} ${sender} ${extension} ${recipient} ${user} ${nexthop} ${sender}
cyrus     unix  -       n       n       -       -       pipe
  user=cyrus argv=/usr/lib/cyrus/bin/deliver -e -r ${sender} -m ${extension} ${user}
uucp      unix  -       n       n       -       -       pipe
  flags=Fqhu user=uucp argv=uux -r -n -z -a$sender - $nexthop!rmail ($recipient)
ifmail    unix  -       n       n       -       -       pipe
  flags=F user=ftn argv=/usr/lib/ifmail/ifmail -r $nexthop ($recipient)
bsmtp     unix  -       n       n       -       -       pipe 
  flags=Fq. user=foo argv=/usr/local/sbin/bsmtp -f $sender $nexthop $recipient
procmail  unix  -       n       n       -       -       pipe 
  flags=R user=nobody argv=/usr/bin/procmail -t -m /etc/procmailrc ${sender} ${recipient}
retry     unix  -       -       n       -       -       error
proxywrite unix -       -       n       -       1       proxymap
dovecot   unix  -       n       n       -       -       pipe
  flags=DRhu user=vmail:vmail argv=/usr/lib/dovecot/deliver -f ${sender} -d ${user}@${nexthop}
amavis unix - - - - 2 smtp
        -o smtp_data_done_timeout=1200
        -o smtp_send_xforward_command=yes

127.0.0.1:10025 inet n - - - - smtpd
        -o content_filter=
        -o local_recipient_maps=
        -o relay_recipient_maps=
        -o smtpd_restriction_classes=
        -o smtpd_client_restrictions=
        -o smtpd_helo_restrictions=
        -o smtpd_sender_restrictions=
        -o smtpd_recipient_restrictions=permit_mynetworks,reject
        -o mynetworks=127.0.0.0/8
        -o strict_rfc821_envelopes=yes
        -o receive_override_options=no_unknown_recipient_checks,no_header_body_checks
        -o smtpd_bind_address=127.0.0.1
```

Ich bin noch dabei mir die einzelnen Komponenten beizubringen,
ein wenig Hilfe ist aber trotzdem nett.

Ich habe diese howto genutzt um ispconfig aufzusetzen
http://www.howtoforge.com/perfect-server-opensuse-11.3-x86_64-ispconfig-3


Der query in der dovecot conf gibt mir die richtigen Werte zurück:


```
mysql> SELECT email as user, maildir as home, CONCAT(maildir, '/Maildir') as mail, uid, gid, CONCAT('maildir:storage=', quota) AS quota, CONCAT(maildir, '/.sieve') as sieve FROM mail_user WHERE email = 'horst@blabla.de' AND disableimap = 'n'
    -> ;
+------------------+-----------------------------+-------------------------------------+------+------+--------------------------+------------------------------------+
| user             | home                        | mail                                | uid  | gid  | quota                    | sieve                              |
+------------------+-----------------------------+-------------------------------------+------+------+--------------------------+------------------------------------+
| horst@blabla.de | /srv/vmail/blabla.de/horst | /srv/vmail/blabla.de/horst/Maildir | 5000 | 5000 | maildir:storage=13631488 | /srv/vmail/blabla.de/horst/.sieve |
+------------------+-----------------------------+-------------------------------------+------+------+--------------------------+------------------------------------+
1 row in set (0.00 sec)
```


----------



## Till (23. Sep. 2010)

Das sieht ok aus. Wenn Du das Howto genommen hast, dann ist der LDA "deliver" und nicht maildrop. Schau mal in die dovecote Konfigurationsdatei, ob dort das quota plugin geladen wird.


----------



## Rupertt (23. Sep. 2010)

Zitat von Till:


> Das sieht ok aus. Wenn Du das Howto genommen hast, dann ist der LDA "deliver" und nicht maildrop. Schau mal in die dovecote Konfigurationsdatei, ob dort das quota plugin geladen wird.


hab ich auch gerade gemertk, da maildrop garnicht installiert ist:

in der imap sektion findet sich:

 mail_plugins = quota imap_quota
 mail_plugin_dir = /usr/lib/dovecot/modules/imap

und unter plugin


  quota = maildir


In dem ordner meines nutzer findet sich keine Datei maildirsize, ist das korekt?

im maillog steht:

Sep 23 10:00:58 panel amavis[7500]: (07500-05) Charging 2937 bytes to remaining quota 2077000 (out of 2077000, (0%)) - by mime_decode






Gruß


----------



## Till (23. Sep. 2010)

> In dem ordner meines nutzer findet sich keine Datei maildirsize, ist das korekt?


Soweit ich mich erinnere ist das ok, die maildirsize Datei ist nur für courier.



> Sep 23 10:00:58 panel amavis[7500]: (07500-05) Charging 2937 bytes to  remaining quota 2077000 (out of 2077000, (0%)) - by mime_decode


Hab ich noch nie gesehen. hat aber vermutlich nichts mit dem maildirquota zu tun, da amvisd das nicht kennt und prüft. Vermutlich meint er mit quota ein internes amavis Limit für dei max. größe der zu scannenden emails.

Für das Quota beim empfangen von emails ist der lda zuständig. Schau mal bitte in die lda Sektion der Configdatei, ob dort auch das quota plugin geladen wird. Sollte in etwa so gehen:

protocol lda {   mail_plugins = quota }

Sont schau auch mal hier:

http://wiki.dovecot.org/Quota

da hat sich glaube ich in letzter Zeit was bei der Quota Konfiguration geändert, je nachdem welche Dovecot Version Du benutzt könnte es sein dass Du vielleicht die query in der dovecot-sql.conf anpassen musst.

Wenn da was geändert werden muss für opensuse 11.3 und Du rausfindest was, dann sag bitte bescheid.


----------



## Till (23. Sep. 2010)

Versuch auch mal die sql query in der dovecot-sql.conf datei wenn Du einen ganz neuen Dovecot hast:


```
SELECT email as user, maildir as home, CONCAT(maildir, '/Maildir') as mail, uid, gid, concat('*:storage=', quota, 'B') AS quota_rule, CONCAT(maildir, '/.sieve') as sieve FROM mail_user WHERE email = 'horst@blabla.de' AND disableimap = 'n'
```


----------



## Rupertt (23. Sep. 2010)

Zitat von Till:


> Soweit ich mich erinnere ist das ok, die maildirsize Datei ist nur für courier.
> 
> 
> 
> ...


protocol lda {
...
  mail_plugins = sieve quota
  mail_plugin_dir = /usr/lib/dovecot/modules/lda
...


----------



## Rupertt (23. Sep. 2010)

Zitat von Till:


> Versuch auch mal die sql query in der dovecot-sql.conf datei wenn Du einen ganz neuen Dovecot hast:
> 
> 
> ```
> ...


In dem Wiki war ich auch schon gelandet und hatte das mit dem * gesehen, wolllte aber nicht eigenhändig da was ändern.

Auf jeden Fall funktioniert es nun

Sep 23 10:59:47 panel dovecot: deliver(horst@blabla.de): sieve: msgid=<4C9B16F6.3080604@blackbit.de>: failed to store into mailbox 'INBOX': Quota exceeded (mailbox for user is full)
Sep 23 10:59:47 panel dovecot: deliver(horst@blabla.de): sieve: script /srv/vmail/blabla.de/horst/.sieve failed with unsuccessful implicit keep

vielen Dank soweit

"edit gelöscht"


----------

