# Dovecot MySQL Quota für Virtuelle Benutzer - Fehler



## eperdemer (12. November 2010)

Nabend,

ich habe auf einem Debian Lenny ein Dovecot 1.0.15 laufen und ich möchte gerne Mail Quotas über MySQL einstellen. Nur aus irgendwelcehn gründen übernimmt er die Daten aus der MySQL Datenbank nicht.

Grundsätzlich läuft es da die Quota einstellung aus der dovecot.conf übernommen wird.

```
protocol imap {
  mail_plugins = quota imap_quota autocreate zlib mail_log
}

protocol pop3 {
  mail_plugins = quota
  pop3_client_workarounds = outlook-no-nuls oe-ns-eoh
  pop3_uidl_format = %08Xu%08Xv
}

protocol lda {
  postmaster_address = postmaster@localhost
  auth_socket_path = /var/run/dovecot/auth-master
  mail_plugins = cmusieve quota
  global_script_path = /var/vmail/globalsieverc
  quota_full_tempfail = yes
  rejection_reason = Your message to <%t> was automatically rejected:%n%r
}

plugin {
  quota = maildir:storage=102400:ignore=Trash
}
```

Die mysql.conf dazu

```
driver = mysql
connect = host=127.0.0.1 dbname= user= password=
default_pass_scheme = PLAIN
password_query = SELECT password, 5000 AS userdb_uid, 5000 AS userdb_gid, concat('maildir:storage=', quota,':ignore=Trash') as userdb_quota FROM users WHERE email = '%u'
user_query = SELECT CONCAT('maildir:/var/vmail/',email) AS mail, 5000 AS uid, 5000 AS gid, concat('maildir:storage=', quota,':ignore=Trash') as quota FROM users WHERE email = '%u'
```

Nach dem Dovecot Wiki sollte es richtig sein aber es geht nicht.
http://wiki.dovecot.org/Quota/1.0
http://wiki.dovecot.org/Quota/Maildir

Kennt vielleicht jemand das Problem und/oder hat eine Idee?

MfG


----------



## olqs (13. November 2010)

Hast du zum testen mal folgendes in deinen Query weggelassen:

```
,':ignore=Trash'
```

bzw nutzt du auch Quota Version 1.0?


----------



## eperdemer (15. November 2010)

Moin olqs,

ja habe ich, führte aber zum selben ergebniss. Ich denke mal das ich Quota Version 1.0 verwende da, es bei flgendne einstellungen eine Fehlermeldung gibt, das er "quota = maildir:User" nicht kennt.


```
plugin {
  quota = maildir:User quota
  quota_rule = *:storage=100M
  }
```

bzw das ganze mit bytes anstatt mit storage.

Grundsätzlich sind die Quota regeln auch richtig bzw. funktionieren, nur die aus der MySQL Datenbank werden nicht angwendet, wort hatte ich Testweise die Quota auf 1024 Bytes runtergesetzt aber keine änderung, im Webmailer bzw. im Mail Client, wenn ich die Globalen werte änder den gibt es bei beiden eine Reaktion drauf.

MfG und Danke


----------



## olqs (15. November 2010)

Da kann ich dir dann leider nicht weiterhelfen.

Wegen deinem Postfix Problem hab ich noch nicht nachgesehen. Hatte das Wochenende doch keine Zeit. Habs aber nicht vergessen.


----------



## eperdemer (15. November 2010)

Moin olqs,

trotzdem Danke,

Habe mal die MySQL Befehle loggen lassen und da kommt folgendes bei raus:


```
Nov 15 16:02:08 Debian-50-lenny-64-LAMP dovecot: auth-worker(default): sql(username,127.0.0.1): query: SELECT password, 5000 AS uid, 5000 AS gid, concat('maildir:storage=', quota,':ignore=Trash') as quota FROM users WHERE email = 'username'        
Nov 15 16:02:08 Debian-50-lenny-64-LAMP dovecot: auth(default): client out: OK#0111#011user=username#011uid=5000#011gid=5000#011quota=maildir:storage=10485760:ignore=Trash                                                                                 
Nov 15 16:02:08 Debian-50-lenny-64-LAMP dovecot: auth(default): master in: REQUEST#0112#01131071#0111                                                                                                                                                           
Nov 15 16:02:08 Debian-50-lenny-64-LAMP dovecot: auth(default): master out: USER#0112#011username#011uid=5000#011gid=5000#011home=/var/vmail
```

So wie das aussieht wird das Quota nur von der password_query verwendet, aber halt nicht angewendet.

MfG


----------

