[Dovecot] Help needed with configuration giving dict error No such file

Ajax aajaxx at gmail.com
Sun Jul 29 22:09:28 EEST 2012


Each time a mail message is delivered to a mailbox records like the
following appear in /var/log/dovecot.warn:

Jul 29 10:02:05 iris dovecot: lmtp(29320, jax at XXX.com): Error: file dict
commit:
file_dotlock_open(/var/vmail/XXX.com/jax/home/maildir/dovecot-quota)
failed: No such file or directory
Jul 29 10:02:05 iris dovecot: lmtp(29320, jax at XXX.com): Error: file dict
commit:
file_dotlock_open(/var/vmail/XXX.com/jax/home/maildir/dovecot-quota)
failed: No such file or directory
Jul 29 10:02:05 iris dovecot: lmtp(29320, jax at XXX.com): Error: dict quota:
Quota update failed, it's now desynced

This is with Dovecot 2.1.7 installed by Debian Squeeze binary packages,
dovecot-core v 1:2.1.7-2~bpo60+1, and friends.  The host is running
GNU/Linux 3.2.0-0.bpo.2-amd64 and on a xfs filesystem.

Entries in /etc/dovecot/users look like this:

     jax at XXX.com:{plain}password

The output from 'doveconf -n' is in the attachment to this mail message.

I'm a beginner without experience with either IMAP servers or clients.

Can you give me pointers to see what I'm missing that causes the errors
logged as above?

The user data base looks like this:

userdb {
  args = uid=5000 gid=5000 home=/var/vmail/%d/%n/home
mail=maildir:/var/vmail/%d/%n
  driver = static
}

Being a beginner, I wonder if is necessary to manually make home
directories for each '/var/vmail/%d/%n/home'?

I've tried test accounts with and without empty "home" directories at the
indicated locations without seeing any difference in the error
indications.  Is it necessary to manually populate the "home" directories?

Besides having no clue about the errors logged, I don't understand what it
takes to make quotas work nor do I understand what  options are available
or advisable.  The distribution wiki/QuotaMaildir.txt seems clear that the
Maildif+++ backend is indicated but beyond that I remain in the dark.

FWIW, I've yet to try a real IMAP client.

Thank you for any pointers you can give me.
-------------- next part --------------
$ doveconf -n # IP address redacted below
# 2.1.7: /etc/dovecot/dovecot.conf
# OS: Linux 3.2.0-0.bpo.2-amd64 x86_64 Debian 6.0.5 xfs
auth_debug = yes
auth_verbose = yes
disable_plaintext_auth = no
lmtp_save_to_detail_mailbox = yes
mail_debug = yes
mail_gid = 5000
mail_location = maildir:/var/vmail/%d/%n
mail_plugins = acl quota
mail_privileged_group = vmail
mail_uid = 5000
namespace inbox {
  inbox = yes
  location = 
  prefix = 
}
passdb {
  args = scheme=plain username_format=%u /etc/dovecot/users
  driver = passwd-file
}
plugin {
  acl = vfile:/var/vmail/conf.d/%d/acls:cache_secs=300
  quota = dict:user::file:%h/maildir/dovecot-quota
  quota_rule = *:storage=1GB
  quota_rule2 = Trash:storage=+10%%
  sieve = ~/.dovecot.sieve
  sieve_dir = ~/sieve
  sieve_global_dir = /var/vmail/conf.d/%d/sieve
}
protocols = imap lmtp
service auth-worker {
  user = doveauth
}
service auth {
  unix_listener /var/spool/postfix/private/auth {
    group = postfix
    mode = 0660
    user = postfix
  }
  user = doveauth
}
service dict {
  unix_listener dict {
    mode = 0600
    user = vmail
  }
}
service imap-login {
  inet_listener imap {
    address = 999.999.999.999
    port = 143
  }
  inet_listener imaps {
    port = 0
  }
}
service lmtp {
  unix_listener /var/spool/postfix/private/dovecot-lmtp {
    group = postfix
    mode = 0660
    user = postfix
  }
}
ssl_cert = </etc/ssl/certs/dovecot.pem
ssl_key = </etc/ssl/private/dovecot.pem
syslog_facility = local7
userdb {
  args = uid=5000 gid=5000 home=/var/vmail/%d/%n/home mail=maildir:/var/vmail/%d/%n
  driver = static
}
verbose_proctitle = yes
protocol lmtp {
  mail_plugins = acl quota sieve
}
protocol imap {
  mail_plugins = acl quota imap_acl imap_quota mail_log notify
}


More information about the dovecot mailing list