[Dovecot] dbox and quota question

Robert Schetterer robert at schetterer.org
Sat Jul 12 18:07:39 EEST 2008


Timo Sirainen schrieb:
> On Sat, 2008-07-12 at 16:38 +0200, Robert Schetterer wrote:
>> Timo Sirainen schrieb:
>>> On Sat, 2008-07-12 at 16:12 +0200, Robert Schetterer wrote:
>>>>>> I think existing quotas in sql could be used
>>>>>> if dovecot would ignore that no
>>>>>> maildir storage is used and simply
>>>>>> interpretes existing maildirsize files, which maybe created out of 
>>>>>> existing sql quota entries
>>>>>> ( but thats speculate )
>>>>> You can of course create a script for yourself that does that, but I
>>>>> don't think Dovecot should bother trying to do it.
>>>> Hi Timo, it maybe possible with
>>>> Post-login scripting
>>>>
>>>> like
>>>>
>>>> QUOTA=`/usr/bin/mysql -N -B -D${DBDBSE} -h ${DBHOST} -u${DBUSER} 
>>>> -p${DBPASS} -e "SELECT ${DBQOTA} FROM ${DBTABL} where username='$USER'" 
>>>> 2>/dev/null`
>>>>
>>>> but i am lost how to answer this in imap to the client
>>> You're using userdb sql, right? Why don't you just have it return the
>>> quota using user_query? See the examples in
>>> http://wiki.dovecot.org/Quota/1.1
>>>
>> seems not to work with dbox
>>
>> quota maildir: No maildir storages, ignoring quota
> 
> You'll have to use dict quota. That's independent of how the limits as
> configured.

sorry i read dict stuff
and i dont understand it
i have no idea to make this work out of the wiki

it says

----
For example:

plugin {
   # v1.0: 10MB and 1000 messages quota limit
   quota = dict:storage=10240:messages=1000 
mysql:/etc/dovecot-dict-quota.conf
   # v1.1:
   quota = dict:::mysql:/etc/dovecot-dict-quota.conf
   quota_rule = *:storage=10M:messages=1000
}

However, the above example won't really work. This is because it would 
require linking all the binaries with MySQL library

i understand this

-----
, which I didn't really want to do. Currently you'll have to do this via 
the dictionary proxy (see below). Actually the performance is better 
that way anyway, and I don't really see a reason not to use it.

Example dovecot-dict-quota.conf:

connect = host=localhost dbname=mails user=sqluser password=sqlpass
table = quota
select_field = current
where_field = path
username_field = username

---
ok i allready have my quota tables
from postfix admin
and i am unclear about the query i need
as well how to set this in plugin quota section
in dovecot.conf


i have this quota userdb sql working with maildir

user_query = SELECT concat('/usr/local/virtual/', maildir) AS home, \
concat('*:storage=', ROUND( mailbox.quota / 1024 ) ) AS quota_rule, \
#when saving to Trash mailbox the user gets additional 50MB
"Trash:storage=50240" AS quota_rule2, \
#when saving to Sent mailbox the user gets additional 50MB
"Sent:storage=50240" AS quota_rule3, \
#when saving to Drafts mailbox the user gets additional 50MB
"Drafts:storage=50240" AS quota_rule4, \
#when saving to Templates mailbox the user gets additional 50MB
"Templates:storage=50240" AS quota_rule5, \
#when saving to Junk mailbox the user gets additional 50MB
"Junk:storage=50240" AS quota_rule6, \
#ignore quota on shared
"shared:ignore" AS quota_rule7, \
concat('dbox:/usr/local/virtual/', maildir) AS mail, \
1001 AS uid, 1001 AS gid  FROM mailbox WHERE username = '%u' AND active 
= '1'

sorry about asking like newbie here , but i simply dont understand this 
dict stuff setup



-- 
Best Regards

MfG Robert Schetterer

Germany/Munich/Bavaria


More information about the dovecot mailing list