[Dovecot] Thunderbird caching problem

Chris Cappuccio chris at nmedia.net
Wed Aug 31 21:59:48 EEST 2011


Using a fairly simple dovecot config (which obviously needs some max limit tweaking) we have problems with IMAP synchronization between thunderbird clients.

Two TB clients in the same IMAP mailbox will, from time to time, show different views of the same INBOX folders, when TB caching is enabled.  The only fix is to right-click on the folder, go to "Properties" and use the "Repair Folder" option which repairs the local TB .msf cache file.

Is there any server-side fix/workaround that would keep TB from regularly going out-of-sync ? This happens with TB3 and newer versions, in concert with either dovecot 1 or 2.

The obvious fix is to disable TB local caching, which unfortunately also disables certain search features and can be a pain for large mailboxes.

# dovecot -n
# 2.0.13: /etc/dovecot/dovecot.conf
doveconf: Warning: service auth { client_limit=4096 } is lower than required under max. load (7168)
doveconf: Warning: service anvil { client_limit=2048 } is lower than required under max. load (3075)
# OS: OpenBSD 5.0 amd64  ffs
auth_default_realm = dovecot.org
auth_mechanisms = plain digest-md5 cram-md5 apop
auth_username_translation = :@
default_client_limit = 2048
default_internal_user = _dovecot
default_login_user = _dovenull
default_process_limit = 1024
disable_plaintext_auth = no
first_valid_gid = 125
first_valid_uid = 125
mail_location = maildir:/mail/%d/%n/
managesieve_notify_capability = mailto
managesieve_sieve_capability = fileinto reject envelope encoded-character vacation subaddress comparator-i;ascii-numeric relational regex imap4flags copy include variables body enotify environment mailbox date
mbox_write_locks = fcntl
mmap_disable = yes
passdb {
  args = /etc/dovecot/dovecot-sql.conf.ext
  driver = sql
}
plugin {
  sieve = ~/.dovecot.sieve
  sieve_dir = ~/sieve
  sieve_global_path = /etc/dovecot/default.sieve
}
protocols = imap pop3 lmtp sieve
service auth {
  unix_listener auth-userdb {
    user = mail
  }
}
service managesieve-login {
  inet_listener sieve {
    port = 4190
  }
  inet_listener sieve_deprecated {
    port = 2000
  }
}
ssl_cert = </etc/balls/balls-cert.pem
ssl_key = </etc/balls/balls-key.pem
userdb {
  args = /etc/dovecot/dovecot-sql.conf.ext
  driver = sql
}
protocol lda {
  mail_plugins = sieve
}
protocol imap {
  imap_client_workarounds = delay-newmail tb-extra-mailbox-sep tb-lsub-flags
  mail_max_userip_connections = 50
}
protocol pop3 {
  mail_max_userip_connections = 50
  pop3_client_workarounds = outlook-no-nuls oe-ns-eoh
  pop3_save_uidl = yes
  pop3_uidl_format = %v-%u
}


More information about the dovecot mailing list