[Dovecot] Quota won't work

Markus Fritz admin at opsys.de
Wed Jan 18 22:41:02 EET 2012


I tried to set a quota setting. I installed dovecot with newest 
version, patched it and started it.
dovecot -n:

# 1.2.15: /etc/dovecot/dovecot.conf
# OS: Linux 2.6.32-5-amd64 x86_64 Debian 6.0.3 ext4
log_timestamp: %Y-%m-%d %H:%M:%S
protocols: imap imaps pop3 pop3s
ssl_listen: 143
ssl_cipher_list: ALL:!LOW:!SSLv2
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
mail_privileged_group: mail
mail_location: maildir:/var/vmail/%d/%n/Maildir
mbox_write_locks: fcntl dotlock
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
namespace:
   type: private
   inbox: yes
   list: yes
   subscriptions: yes
lda:
   postmaster_address: postmaster at opsys.de
   mail_plugins: sieve quota
   log_path:
auth default:
   mechanisms: plain login
   verbose: yes
   passdb:
     driver: sql
     args: /etc/dovecot/dovecot-sql.conf
   userdb:
     driver: static
     args: uid=5000 gid=5000 home=/var/vmail/%d/%n/Maildir 
allow_all_users=yes
   socket:
     type: listen
     client:
       path: /var/spool/postfix/private/auth
       mode: 432
       user: postfix
       group: postfix
     master:
       path: /var/run/dovecot/auth-master
       mode: 384
       user: vmail

/etc/dovecot/dovecot-sql.conf:


driver = mysql
connect = host=127.0.0.1 dbname=mailserver user=mailuser 
password=******
default_pass_scheme = PLAIN-MD5
password_query = SELECT email as user, password FROM virtual_users 
WHERE email='%u';
user_query = SELECT CONCAT('/var/mail/', maildir) AS home, 
CONCAT('*:bytes=', quota) AS quota_rule \
  FROM virtual_users WHERE email='%u'


virtual_users has this:

CREATE TABLE IF NOT EXISTS `virtual_users` (
   `id` int(11) NOT NULL AUTO_INCREMENT,
   `domain_id` int(11) NOT NULL,
   `password` varchar(32) NOT NULL,
   `email` varchar(100) NOT NULL,
   `quota` int(11) NOT NULL DEFAULT '629145600',
   PRIMARY KEY (`id`),
   UNIQUE KEY `email` (`email`),
   KEY `domain_id` (`domain_id`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8;

Also postfix is installed with this (not the hole cfg):

virtual_mailbox_domains = 
mysql:/etc/postfix/mysql-virtual-mailbox-domains.cf
virtual_mailbox_limit_inbox = no
virtual_mailbox_limit_maps = mysql:/etc/postfix/mysql-quota.cf
virtual_mailbox_limit_override = yes
virtual_mailbox_maps = mysql:/etc/postfix/mysql-virtual-mailbox-maps.cf
virtual_maildir_extended = yes
virtual_maildir_limit_message = "The user you are trying to reach is 
over quota."
virtual_maildir_limit_message_maps = mail:/etc/postfix/mysql-quota.cf
virtual_overquota_bounce = yes

/etc/postfix/mysql-quota.cf:

user = mailuser
password = ******
hosts = 127.0.0.1
dbname = mailserver
query = SELECT quota FROM virtual_users WHERE email='%s'


I changed the quota of my mail account to 40, so 40Byte should be the 
maximum.
My account is at a size of 600KB now. I still recieve mails, also they 
will be saved without errors.

/var/log/mail.log says nothing to quota, just normal recieve and store 
entries.

What to fix?

-- 
Markus Fritz
Administration

opsys.de



More information about the dovecot mailing list