[Dovecot] deliver does not update maildirsize

ftriboix at falcon-one.com ftriboix at falcon-one.com
Tue Jun 23 11:15:44 EEST 2009


Hello,

I have installed postfix 2.5.1 + dovecot 1.0.13 + MySQL and it all works
perfectly. I use deliver as the local delivery agent and use IMAP only
with maildir mailboxes. I am using virtual mailboxes.

Now I wanted to introduce quotas, but I can't manage to make them work.
Quota information is retreived from MySQL in userdb requests.

I have noticed that the maildirsize file is not updated by deliver when
a new mail comes in. I don't know if this is correct or not...
It is updated though when I log in. But even then mails are still
received without any kind of problem while the mailbox is well over
the quota.

I tried to add a "-v" option to deliver in postfix's master.cf to debug
deliver, but it apparently does not like this option.

Please find below my postfix and dovecot's configurations. Thank you very
much for any help.

NB: I removed some sensitive configuration option for this email
NB2: The user in question has a quota of 1MB




# postconf -n
alias_maps = mysql:/etc/postfix-2.5.1/mysql-localalias.cf
append_at_myorigin = no
append_dot_mydomain = no
biff = no
command_directory = /usr/local/postfix-2.5.1/sbin
config_directory = /etc/postfix-2.5.1
daemon_directory = /usr/local/postfix-2.5.1/libexec
data_directory = /var/postfix-2.5.1/data
debug_peer_level = 2
html_directory = /usr/local/postfix-2.5.1/doc/html
mail_owner = lpostfix
mail_spool_directory = /var/mail
mailq_path = /usr/local/postfix-2.5.1/bin/mailq
manpage_directory = /usr/local/postfix-2.5.1/man
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
mydomain = MyHostingDomain
myhostname = MyMachine.MyHostingDomain
mynetworks_style = host
myorigin = $mydomain
newaliases_path = /usr/local/postfix-2.5.1/bin/newaliases
queue_directory = /var/postfix-2.5.1
readme_directory = /usr/local/postfix-2.5.1/doc/text
relay_domains =
relayhost = [MyRelayHost]
sample_directory = /etc/postfix-2.5.1
sendmail_path = /usr/sbin/sendmail
setgid_group = lpostdrop
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix-2.5.1/tmp-sasl-pwd
smtp_sasl_security_options = noanonymous
smtpd_recipient_restrictions =
permit_mynetworks,	permit_sasl_authenticated,	reject_non_fqdn_hostname,	reject_non_fqdn_sender,	reject_non_fqdn_recipient,	reject_unauth_destination,	reject_unauth_pipelining,	reject_invalid_hostname
smtpd_sasl_auth_enable = yes
smtpd_sasl_local_domain = $myhostname
smtpd_sasl_path = private/auth.dovecot
smtpd_sasl_security_options = noanonymous
smtpd_sasl_type = dovecot
syslog_facility = local0
unknown_local_recipient_reject_code = 550
virtual_alias_maps =
mysql:/etc/postfix-2.5.1/mysql-alias.cf,mysql:/etc/postfix-2.5.1/mysql-global-alias.cf,mysql:/etc/postfix-2.5.1/mysql-email2email.cf
virtual_gid_maps = static:5000
virtual_mailbox_domains = mysql:/etc/postfix-2.5.1/mysql-domain.cf
virtual_mailbox_maps = mysql:/etc/postfix-2.5.1/mysql-mailbox.cf
virtual_transport = dovecot
virtual_uid_maps = static:5000


# cat master.cf
#
# Postfix master process configuration file.  For details on the format
# of the file, see the master(5) manual page (command: "man 5 master").
#
# Do not forget to execute "postfix reload" after editing this file.
#
# ==========================================================================
# service type  private unpriv  chroot  wakeup  maxproc command + args
#               (yes)   (yes)   (yes)   (never) (100)
# ==========================================================================
smtp      inet  n       -       n       -       -       smtpd
#submission inet n       -       n       -       -       smtpd
#  -o smtpd_tls_security_level=encrypt
#  -o smtpd_sasl_auth_enable=yes
#  -o smtpd_client_restrictions=permit_sasl_authenticated,reject
#  -o milter_macro_daemon_name=ORIGINATING
#smtps     inet  n       -       n       -       -       smtpd
#  -o smtpd_tls_wrappermode=yes
#  -o smtpd_sasl_auth_enable=yes
#  -o smtpd_client_restrictions=permit_sasl_authenticated,reject
#  -o milter_macro_daemon_name=ORIGINATING
#628      inet  n       -       n       -       -       qmqpd
pickup    fifo  n       -       n       60      1       pickup
cleanup   unix  n       -       n       -       0       cleanup
qmgr      fifo  n       -       n       300     1       qmgr
#qmgr     fifo  n       -       n       300     1       oqmgr
tlsmgr    unix  -       -       n       1000?   1       tlsmgr
rewrite   unix  -       -       n       -       -       trivial-rewrite
bounce    unix  -       -       n       -       0       bounce
defer     unix  -       -       n       -       0       bounce
trace     unix  -       -       n       -       0       bounce
verify    unix  -       -       n       -       1       verify
flush     unix  n       -       n       1000?   0       flush
proxymap  unix  -       -       n       -       -       proxymap
proxywrite unix -       -       n       -       1       proxymap
smtp      unix  -       -       n       -       -       smtp
# When relaying mail as backup MX, disable fallback_relay to avoid MX loops
relay     unix  -       -       n       -       -       smtp
	-o smtp_fallback_relay=
#       -o smtp_helo_timeout=5 -o smtp_connect_timeout=5
showq     unix  n       -       n       -       -       showq
error     unix  -       -       n       -       -       error
retry     unix  -       -       n       -       -       error
discard   unix  -       -       n       -       -       discard
local     unix  -       n       n       -       -       local
virtual   unix  -       n       n       -       -       virtual
lmtp      unix  -       -       n       -       -       lmtp
anvil     unix  -       -       n       -       1       anvil
scache    unix  -       -       n       -       1       scache
dovecot   unix  -       n       n       -       -       pipe
	flags=DRhu user=vmail:vmail
argv=/usr/local/dovecot-1.0.13/libexec/dovecot/deliver -f ${sender} -d
${recipient}


# dovecot -n
# 1.0.13: /etc/dovecot-1.0.13/dovecot.conf
base_dir: /var/dovecot-1.0.13
log_path: /var/dovecot-1.0.13/log/errors.log
info_log_path: /var/dovecot-1.0.13/log/info.log
ssl_disable: yes
disable_plaintext_auth: no
login_dir: /var/dovecot-1.0.13/login
login_executable: /usr/local/dovecot-1.0.13/libexec/dovecot/imap-login
login_user: ldovecotlogin
mail_location: maildir:/var/vmail/%d/%n
mail_debug: yes
maildir_copy_with_hardlinks: yes
mail_plugins: quota imap_quota
auth default:
  mechanisms: plain login
  user: nobody
  chroot: /var/dovecot-1.0.13
  verbose: yes
  debug: yes
  debug_passwords: yes
  passdb:
    driver: sql
    args: /etc/dovecot-1.0.13/dovecot-mysql-passdb.conf
  userdb:
    driver: sql
    args: /etc/dovecot-1.0.13/dovecot-mysql-userdb.conf
  socket:
    type: listen
    client:
      path: /var/postfix-2.5.1/private/auth.dovecot
      mode: 432
      user: lpostfix
      group: lpostfix
    master:
      path: /var/dovecot-1.0.13/auth-master
      mode: 384
      user: vmail
      group: vmail
plugin:
  quota: maildir:storage=10240:ignore=Trash


# cat dovecot-mysql-passdb.conf
driver = mysql
connect = [ --- snip --- ]
default_pass_scheme = PLAIN-MD5
password_query = SELECT password FROM view_vuser WHERE email = '%u' AND
active = 1


# cat dovecot-mysql-passdb.conf
driver = mysql
connect = [ --- snip --- ]
default_pass_scheme = PLAIN-MD5
user_query = SELECT 5000 AS uid, 5000 AS gid, CONCAT("maildir:", mail) AS
mail, CONCAT(mail, "/home") AS home, CONCAT("maildir:storage=", quota_mb *
1024, ":ignore=Trash") AS quota FROM view_vuser WHERE email = '%u' AND
active = 1


# ls -l maildirsize
-rw------- 1 vmail vmail 20 2009-06-23 08:47 maildirsize


# cat maildirsize
1048576S
1846384 10






More information about the dovecot mailing list