[Dovecot] Dovecot quota dict

Juan Bernhard juan at inti.gob.ar
Tue Aug 9 17:18:55 EEST 2011


Hi Nikita, thanks for the help, but I don't have any problem with 
bouncing the mail after the deliver (in fact, the mail pass two MTAs 
servers before reaching the final storage)
I will try (with my limited english) to explain it better. Now I m 
working with a single quota rule for everyone. What I need is a 
mechanism to give a custom quota to each user. I thought that a flat 
file will be the simple and easy option to implement, and then use 
"quota=${lookup {$local_part} lsearch .....}" in the exim transport. I 
need a way to configure dovecot to follow the same file (or at least a 
modified copy). I've been told on this list that I can't rely on the 
maildirsize file, because it can be deleted under some conditions... so 
i neet to stablish quotas to dovecot somewhere else.
My question is: can dovecot get a custon quota for a user from a file 
(not sql or ldap) and use at the same time pam as userdb?


Thanks, Juan.

El 09/08/2011 03:29 a.m., Nikita Koshikov escribió:
> On Mon, 08 Aug 2011 16:35:53 -0300
> Juan Bernhard wrote:
>
>> Hi, Im using dovecot with maildir++ quota and I have this problem, maybe
>> some of you already solve this and can helpme.
>> I want to use some flat file to tell exim and dovecot the quota limit
>> for each user, i tried to work with exim and maildirsize file, but exim
>> just ignores the limits there.
>> I need a way (a really simple one, i dont want to create a database or
>> an ldap server just for this) to tell exim and dovecot to lookup some
>> file to get the quota limits. I know how to doit with exim, now i need
>> to know how to tell dovecot to read the quota limits from this file. I
>> know that dovecot can read the quota limit from the userdb, but im using
>> pam and i dont want to change the entire auth schema.
>> Can I configure dovecot to get the quota limit from a file using pam as
>> userdb?
>>
>> Thanks, Juan.
>>
>> pd: here is my doveconf -n
>>
>> # 2.0.13: /usr/local/etc/dovecot/dovecot.conf
>> # OS: Linux 2.6.18-238.9.1.el5 x86_64 CentOS release 5.6 (Final) ext3
>> auth_cache_size = 10 M
>> auth_debug = yes
>> auth_verbose = yes
>> base_dir = /var/run/dovecot/
>> default_client_limit = 5000
>> default_process_limit = 1000
>> disable_plaintext_auth = no
>> listen = *
>> login_greeting = Server ready.
>> mail_debug = yes
>> mail_location = maildir:/var/mail/%u:INDEX=~/
>> mail_plugins = quota
>> maildir_very_dirty_syncs = yes
>> passdb {
>>     args = failure_show_msg=yes %s
>>     driver = pam
>> }
>> plugin {
>>     mail_log_events = delete undelete expunge copy mailbox_delete
>> mailbox_rename
>>     mail_log_fields = uid box msgid size subject
>>     quota = maildir:Cuota de correo
>>     quota_rule = *:storage=1G
>>     quota_rule2 = Trash:storage=+100M
>> }
>> protocols = imap pop3
>> service auth {
>>     client_limit = 12000
>> }
>> service imap {
>>     process_limit = 5000
>> }
>> service pop3 {
>>     process_limit = 5000
>> }
>> ssl = no
>> ssl_cert =</etc/ssl/certs/dovecot.pem
>> ssl_key =</etc/ssl/private/dovecot.pem
>> userdb {
>>     driver = passwd
>> }
>> protocol imap {
>>     imap_client_workarounds = tb-extra-mailbox-sep tb-lsub-flags
>>     mail_plugins = quota imap_quota
>> }
>> protocol pop3 {
>>     pop3_client_workarounds = outlook-no-nuls oe-ns-eoh
>>     pop3_lock_session = yes
>>     pop3_uidl_format = %08Xv%08Xu
>> }
>>
> Try to google "exim smtp-time quota bounce". This is what you need.
> Exim can't do rcpt acl quota checks from the box, thus you need:
> 1)Some external script which will periodically create overquota file\database of users and reject them at smtp-time using lookup
> 2)Or write perl-script and exec it in router stage. Script will open maildirsize file, count quota and gives you 'yes\no'.
>
> Also you need to deliver via dovecot deliver. This scheme will work.
>


More information about the dovecot mailing list