[Dovecot] Fwd: Re: Problem with quota dovecot as lda and mysql [claudio.prono at atpss.net]

Claudio Prono claudio.prono at atpss.net
Mon Oct 27 16:20:14 EET 2008


Ok, finally works. The problem was into the user_query to mysql, the
correct one, for who is interested is:

user_query = SELECT maildir, 51 AS uid, 51 AS gid,  CONCAT('*:bytes=',
mailbox.quota ) AS quota_rule FROM mailbox WHERE username = '%u' AND
active = '1'

Thank u to all :)

Claudio.

Claudio Prono ha scritto:
> Thank u, i have read all in that guide, but nothing. I have made a test,
> with dovecot 1.0.14, with the same configuration the quota works... now
> i am really confused...
>
> deliver(test2 at mediaservice.pri): Dec 04 04:30:43 Info:
> msgid=<4905A6AD.8060008 at atpss.net>: save failed to INBOX: Quota exceeded
>
> Any problem or difference with quota from version 1.0.x to 1.1.x ??
>
> Any suggestion is welcome...
>
> Claudio.
>
>
>
> Quey ha scritto:
>   
>> Have a look at http://kb.ausics.net/pf.php
>> It might offer some help
>>
>> ------------------------------------------------------------------------
>>
>> Oggetto:
>> Re: [Dovecot] Problem with quota dovecot as lda and mysql
>> Da:
>> Claudio Prono <claudio.prono at atpss.net>
>> Data:
>> Mon, 27 Oct 2008 11:19:11 +0100
>> A:
>> Dovecot Mailing List <dovecot at dovecot.org>
>>
>> A:
>> Dovecot Mailing List <dovecot at dovecot.org>
>>
>>
>> If can be useful, that is the debug of a send mail to the same mailbox:
>>
>> deliver(test at test.com): Oct 27 12:15:39 Info: Loading modules from
>> directory: /usr/lib/dovecot/modules/lda
>> deliver(test at test.com): Oct 27 12:15:39 Info: Module loaded:
>> /usr/lib/dovecot/modules/lda/lib10_quota_plugin.so
>> deliver(test at test.com): Oct 27 12:15:39 Info: auth input: test at test.com
>> deliver(test at test.com): Oct 27 12:15:39 Info: auth input:
>> maildir=test.com/test at test.com/
>> deliver(test at test.com): Oct 27 12:15:39 Info: auth input: uid=51
>> deliver(test at test.com): Oct 27 12:15:39 Info: auth input: gid=51
>> deliver(test at test.com): Oct 27 12:15:39 Info: auth input:
>> quota=dirsize:storage=15000
>> deliver(test at test.com): Oct 27 12:15:39 Info: Quota root:
>> name=storage=15000 backend=dirsize args=
>> deliver(test at test.com): Oct 27 12:15:39 Info: maildir:
>> data=/var/mail/virtual/test.com/test at test.com
>> deliver(test at test.com): Oct 27 12:15:39 Info: maildir++:
>> root=/var/mail/virtual/test.com/test at test.com, index=, control=,
>> inbox=/var/mail/virtual/test.com/test at test.com
>> deliver(test at test.com): Oct 27 12:15:40 Info:
>> msgid=<490594E1.5000802 at atpss.net>: saved mail to INBOX
>>
>> the line with quota=dirsize:storage=15000 is correct? For 15Mb?
>>
>> Thank u,
>>
>> Claudio.
>>
>>
>> Claudio Prono ha scritto:
>>   
>>     
>>> Hello to all,
>>>
>>> That is my situation: I am trying to use dovecot as LDA with postfix,
>>> mysql e postfixadmin. So, all the users are stored in mysql, with quota
>>> password and all other things. All works properly, except for quota. I
>>> am trying to do some tests, but is not clear to me how to debug that
>>> problem.
>>>
>>> Scenario: user with 15 Mb of quota.
>>>
>>> That is my dovecot.conf (dovecot version 1.1.3 on OpenSuSE 11.0):
>>>
>>>  dovecot -n
>>> # 1.1.3: /etc/dovecot/dovecot.conf
>>> log_path: /var/log/dovecot-err.log
>>> info_log_path: /var/log/dovecot-inf.log
>>> protocols: imap imaps pop3 pop3s
>>> disable_plaintext_auth: no
>>> login_dir: /var/run/dovecot/login
>>> login_executable(default): /usr/lib/dovecot/imap-login
>>> login_executable(imap): /usr/lib/dovecot/imap-login
>>> login_executable(pop3): /usr/lib/dovecot/pop3-login
>>> first_valid_uid: 51
>>> last_valid_uid: 51
>>> first_valid_gid: 51
>>> last_valid_gid: 51
>>> mail_location: maildir:/var/mail/virtual/%d/%u
>>> mail_executable(default): /usr/lib/dovecot/imap
>>> mail_executable(imap): /usr/lib/dovecot/imap
>>> mail_executable(pop3): /usr/lib/dovecot/pop3
>>> mail_plugins(default): quota imap_quota
>>> mail_plugins(imap): quota imap_quota
>>> mail_plugins(pop3): quota
>>> mail_plugin_dir(default): /usr/lib/dovecot/modules/imap
>>> mail_plugin_dir(imap): /usr/lib/dovecot/modules/imap
>>> mail_plugin_dir(pop3): /usr/lib/dovecot/modules/pop3
>>> imap_client_workarounds(default): outlook-idle
>>> imap_client_workarounds(imap): outlook-idle
>>> imap_client_workarounds(pop3):
>>> pop3_uidl_format(default): %08Xu%08Xv
>>> pop3_uidl_format(imap): %08Xu%08Xv
>>> pop3_uidl_format(pop3): %Mf
>>> auth default:
>>>   passdb:
>>>     driver: sql
>>>     args: /etc/dovecot/dovecot-mysql.conf
>>>   userdb:
>>>     driver: passwd
>>>   userdb:
>>>     driver: sql
>>>     args: /etc/dovecot/dovecot-mysql.conf
>>>   socket:
>>>     type: listen
>>>     master:
>>>       path: /var/run/dovecot/auth-master
>>>       mode: 384
>>> plugin:
>>>   quota: maildir
>>>   quota: maildir:user quota
>>>
>>> And this is my dovecot-mysql.conf:
>>>
>>> driver = mysql
>>> connect = host=127.0.0.1 port=3306 user=postfix password=XXXXXXXXXXX
>>> dbname=postfix
>>> default_pass_scheme = MD5-CRYPT
>>>
>>> password_query = SELECT username as user, password,
>>> '/var/mail/virtual/%d/%u' as
>>> userdb_home,'maildir:/var/mail/virtual/%d/%u' , 51 as userdb_uid, 51 as
>>> userdb_gid FROM mailbox WHERE username = '%n@%d' AND active = '1'
>>>
>>> user_query = SELECT maildir, 51 AS uid, 51 AS gid, 
>>> concat('dirsize:storage=', ROUND( mailbox.quota / 1024 ) ) AS quota FROM
>>> mailbox WHERE username = '%u' AND active = '1'
>>>
>>> But.. when i send a mail that "overquota" the mailbox, nothing happens,
>>> the mail is normally delivered to maildir and the quota is not considered.
>>>
>>> An example of the process:
>>>
>>> I take a mailbox with 15Mb of quota, like test at test.com:
>>>
>>> Email 	Nome 	Quota (MB) 	Ultima modifica 	Attivo 	 
>>> test at test.com 	test 	15 	2008-10-27 11:47:43 	SI
>>> <edit-active.php?username=test%40test.com&domain=test.com> 	modifica
>>> <edit-mailbox.php?username=test%40test.com&domain=test.com> 	cancella
>>> <delete.php?table=mailbox&delete=test%40test.com&domain=test.com>
>>>
>>>
>>> I try to send an email to it:
>>>
>>> Oct 27 11:48:53 dns postfix/smtpd[3489]: connect from
>>> cla.mediaservice.pri[192.168.87.70]
>>> Oct 27 11:48:53 dns postfix/smtpd[3489]: D8DF2837:
>>> client=cla.mediaservice.pri[192.168.87.70]
>>> Oct 27 11:48:53 dns postfix/cleanup[3494]: D8DF2837:
>>> message-id=<49058EB2.5080208 at atpss.net>
>>> Oct 27 11:48:58 dns postfix/qmgr[2636]: D8DF2837:
>>> from=<claudio.prono at atpss.net>, size=7716371, nrcpt=1 (queue active)
>>> Oct 27 11:48:58 dns postfix/smtpd[3489]: disconnect from
>>> cla.mediaservice.pri[192.168.87.70]
>>> Oct 27 11:48:59 dns postfix/pipe[3496]: D8DF2837: to=<test at test.com>,
>>> relay=dovecot, delay=5.6, delays=4.9/0/0/0.71, dsn=2.0.0, status=sent
>>> (delivered via dovecot service)
>>> Oct 27 11:48:59 dns postfix/qmgr[2636]: D8DF2837: removed
>>>
>>> Fine, the mail was put into mailbox.
>>>
>>> dns:/var/mail/virtual/test.com/test at test.com # du -h
>>> 0       ./cur
>>> 7.3M    ./new
>>> 0       ./tmp
>>> 7.3M    .
>>>
>>> Now i try to put in overquota the mailbox with other 2 mails of the same
>>> dimension.
>>>
>>> First one:
>>>
>>> Oct 27 11:50:52 dns postfix/smtpd[3684]: connect from
>>> cla.mediaservice.pri[192.168.87.70]
>>> Oct 27 11:50:52 dns postfix/smtpd[3684]: 220D4837:
>>> client=cla.mediaservice.pri[192.168.87.70]
>>> Oct 27 11:50:52 dns postfix/cleanup[3689]: 220D4837:
>>> message-id=<49058F28.8050004 at atpss.net>
>>> Oct 27 11:51:13 dns postfix/qmgr[2636]: 220D4837:
>>> from=<claudio.prono at atpss.net>, size=7716372, nrcpt=1 (queue active)
>>> Oct 27 11:51:13 dns postfix/smtpd[3684]: disconnect from
>>> cla.mediaservice.pri[192.168.87.70]
>>> Oct 27 11:51:14 dns postfix/pipe[3691]: 220D4837: to=<test at test.com>,
>>> relay=dovecot, delay=22, delays=22/0.01/0/0.56, dsn=2.0.0, status=sent
>>> (delivered via dovecot service)
>>> Oct 27 11:51:14 dns postfix/qmgr[2636]: 220D4837: removed
>>>
>>> dns:/var/mail/virtual/test.com/test at test.com # du -h
>>> 0       ./cur
>>> 15M     ./new
>>> 0       ./tmp
>>> 15M     .
>>>
>>> That's ok, the quota is 15Mb, next mail...
>>>
>>> Oct 27 11:52:27 dns postfix/smtpd[3684]: connect from
>>> cla.mediaservice.pri[192.168.87.70]
>>> Oct 27 11:52:27 dns postfix/smtpd[3684]: 4441D837:
>>> client=cla.mediaservice.pri[192.168.87.70]
>>> Oct 27 11:52:27 dns postfix/cleanup[3689]: 4441D837:
>>> message-id=<49058F87.4010600 at atpss.net>
>>> Oct 27 11:52:49 dns postfix/qmgr[2636]: 4441D837:
>>> from=<claudio.prono at atpss.net>, size=7716371, nrcpt=1 (queue active)
>>> Oct 27 11:52:49 dns postfix/smtpd[3684]: disconnect from
>>> cla.mediaservice.pri[192.168.87.70]
>>> Oct 27 11:52:50 dns postfix/pipe[3691]: 4441D837: to=<test at test.com>,
>>> relay=dovecot, delay=23, delays=22/0.01/0/0.56, dsn=2.0.0, status=sent
>>> (delivered via dovecot service)
>>> Oct 27 11:52:50 dns postfix/qmgr[2636]: 4441D837: removed
>>>
>>> Wrong! The mail quota was not seen, and in fact...
>>>
>>> dns:/var/mail/virtual/test.com/test at test.com # du -h
>>> 0       ./cur
>>> 22M     ./new
>>> 0       ./tmp
>>> 22M     .
>>>
>>> Overquota is here!
>>>
>>> Any suggestion? I have already readed the quota howto of dovecot, with
>>> no results, all seems ok, but quota is not used... PLS HELP!!!
>>>
>>> Thank u in advance,
>>>
>>> Claudio Prono.
>>>
>>>   
>>>     
>>>       
>>   
>>     
>
>   

-- 
------------
Claudio Prono
Systems Development @ Atpss.net Srl, Divisione Implementazione Sistemi
Via San Bernardino, 17 - 10137 Torino (TO) - IT
Tel +39-011.32.72.100  Fax +39-011.32.46.497
PGP Fingerprint: 75C2 4049 E23D 2FBF A65F  40DB EA5C 11AC C2B0 3647
Disclaimer: http://atpss.net/disclaimer
------------ 



More information about the dovecot mailing list