[Dovecot] Problem with dovecot + imap idle + qmail-local delivery

Jochen Schug dovecot at 17z.de
Sat Mar 21 13:22:47 EET 2009


Hi,

I've recently switched from courier-imap to dovecot. Everything seemed to work fine, but after I while I noticed that dovecot is occasionaly causing problems with delivery of new incoming mails.

System: Gentoo Linux, kernel 2.6.19, qmail 1.03, vpopmail 5.4.26 , dovecot 1.1.11, maildir, mail store on ext3.

Symptoms: qmail is having trouble with the mail delivery. 

First I thought it had something to do with vpopmail or dovecot's quota support, but I tracked it down to qmail-local. I tried two different versions, one with Bill Shupp's maildir++ patch and one without.

With the patch, I'm getting "User_over_quota._(#5.1.1)" errors. Mail is delivered once and sender is sent a notification about the exceeded quota.
Without the patch, I get "Temporary_error_on_maildir_delivery._(#4.3.0)". Mail is delivered, but delivery is tried again and again. 

This only happens if a MUA is logged in to the mailbox and IMAP IDLE is being used. If the MUA is disconnected: fine. If dovecot is stopped: fine.

I tried a couple of different things, all without success:
- upgraded dovecot from 1.1.7 to 1.1.11
- compiled a new kernel with inotify support and recompiled dovecot
- migrated mail store from reiserfs to ext3
- disabling quota support in dovecot
- tried dovecot's various file locking mechanisms

Right now I'm working around this by removing IDLE from the capabilities. This solves the problem, but leaves me with a less functional IMAP server.

Any help is greatly appreciated.

Jochen


dovecot -n:

protocols: imaps imap pop3s pop3
listen(default): *:143
listen(imap): *:143
listen(pop3): *:110
ssl_listen(default): *:993
ssl_listen(imap): *:993
ssl_listen(pop3): *:995
ssl_cert_file: /etc/ssl/dovecot/server.pem
ssl_key_file: /etc/ssl/dovecot/server.key
disable_plaintext_auth: no
verbose_ssl: yes
login_dir: /var/run/dovecot/login
login_executable(default): /usr/libexec/dovecot/imap-login
login_executable(imap): /usr/libexec/dovecot/imap-login
login_executable(pop3): /usr/libexec/dovecot/pop3-login
first_valid_uid: 89
last_valid_uid: 89
first_valid_gid: 89
last_valid_gid: 89
mail_uid: 89
mail_gid: 89
mail_location: maildir:/var/vpopmail/domains/%d/%n/.maildir
maildir_copy_preserve_filename: yes
mail_executable(default): /usr/libexec/dovecot/imap
mail_executable(imap): /usr/libexec/dovecot/imap
mail_executable(pop3): /usr/libexec/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/imap
mail_plugin_dir(imap): /usr/lib/dovecot/imap
mail_plugin_dir(pop3): /usr/lib/dovecot/pop3
imap_capability(default): IMAP4rev1 SASL-IR SORT THREAD=REFERENCES MULTIAPPEND UNSELECT LITERAL+ CHILDREN NAMESPACE LOGIN-REFERRALS UIDPLUS LIST-EXTENDED I18NLEVEL=1 QUOTA
imap_capability(imap): IMAP4rev1 SASL-IR SORT THREAD=REFERENCES MULTIAPPEND UNSELECT LITERAL+ CHILDREN NAMESPACE LOGIN-REFERRALS UIDPLUS LIST-EXTENDED I18NLEVEL=1 QUOTA
imap_capability(pop3): 
imap_client_workarounds(default): outlook-idle delay-newmail
imap_client_workarounds(imap): outlook-idle delay-newmail
imap_client_workarounds(pop3): 
namespace:
  type: private
  prefix: INBOX.
  inbox: yes
  list: yes
  subscriptions: yes
auth default:
  mechanisms: plain login digest-md5
  user: vpopmail
  verbose: yes
  debug: yes
  passdb:
    driver: vpopmail
  userdb:
    driver: vpopmail
plugin:
  quota: maildir





More information about the dovecot mailing list