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.