I have dovecot 2.0.11 installed on a CentOS 5.7 email server. Two of the
server email clients, one using Outlook and the other Thunderbird, have
had all the contents of their inbox disappear only to reappear at a
later time. One client's inbox email reappeared upon receiving a test
email (to check if it would show up in the inbox) from another user. Has
anyone heard of such a thing?
Here's a dump of my dovecot configuration.
# 2.0.11: /etc/dovecot/dovecot.conf
# OS: Linux 2.6.18-238.19.1.el5 i686 CentOS release 5.7 (Final)
auth_anonymous_username = anonymous
auth_cache_negative_ttl = 1 hours
auth_cache_size = 32 M
auth_cache_ttl = 1 hours
auth_debug = no
auth_debug_passwords = no
auth_default_realm auth_failure_delay = 2 secs
auth_first_valid_uid = 500
auth_gssapi_hostname auth_krb5_keytab auth_last_valid_uid = 0
auth_master_user_separator auth_mechanisms = plain login digest-md5 cram-md5
auth_realms auth_socket_path = auth-userdb
auth_ssl_require_client_cert = no
auth_ssl_username_from_cert = no
auth_use_winbind = no
auth_username_chars
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890.-_@
auth_username_format = %Lu
auth_username_translation auth_verbose = no
auth_verbose_passwords = no
auth_winbind_helper_path = /usr/bin/ntlm_auth
auth_worker_max_count = 30
base_dir = /var/run/dovecot
config_cache_size = 1 M
debug_log_path default_client_limit = 1000
default_idle_kill = 60
default_internal_user = dovecot
default_login_user = dovenull
default_process_limit = 100
default_vsz_limit = 256 M
deliver_log_format = msgid=%m: %$
dict_db_config director_doveadm_port = 0
director_mail_servers director_servers director_user_expire = 15 mins
disable_plaintext_auth = no
dotlock_use_excl = yes
doveadm_socket_path = doveadm-server
doveadm_worker_count = 0
first_valid_gid = 1
first_valid_uid = 89
hostname imap_capability imap_client_workarounds imap_id_log imap_id_send
imap_idle_notify_interval = 2 mins
imap_logout_format = bytes=%i/%o
imap_max_line_length = 64 k
import_environment = TZ
info_log_path last_valid_gid = 0
last_valid_uid = 0
lda_mailbox_autocreate = no
lda_mailbox_autosubscribe = no
lda_original_recipient_header libexec_dir = /usr/libexec/dovecot
listen = *, ::
lmtp_proxy = no
lmtp_save_to_detail_mailbox = no
lock_method = fcntl
log_path = /var/log/dovecot.log
log_timestamp = "%b %d %H:%M:%S "
login_access_sockets login_greeting = Dovecot toaster ready.
login_log_format = %$: %s
login_log_format_elements = user=<%u> method=%m rip=%r lip=%l mpid=%e %c
login_trusted_networks mail_access_groups mail_attachment_dir mail_attachment_fs
= sis posix
mail_attachment_hash = %{sha1}
mail_attachment_min_size = 128 k
mail_cache_fields = flags
mail_cache_min_mail_count = 0
mail_chroot mail_debug = no
mail_fsync = optimized
mail_full_filesystem_access = no
mail_gid mail_home mail_location mail_log_prefix = "%s(%u): "
mail_max_keyword_length = 50
mail_max_lock_timeout = 0
mail_max_userip_connections = 10
mail_never_cache_fields = imap.envelope
mail_nfs_index = no
mail_nfs_storage = no
mail_plugin_dir = /usr/lib/dovecot
mail_plugins mail_privileged_group mail_save_crlf = no
mail_temp_dir = /tmp
mail_uid mailbox_idle_check_interval = 30 secs
mailbox_list_index_disable = no
maildir_copy_with_hardlinks = yes
maildir_stat_dirs = no
maildir_very_dirty_syncs = no
master_user_separator mbox_dirty_syncs = yes
mbox_dotlock_change_timeout = 2 mins
mbox_lazy_writes = yes
mbox_lock_timeout = 5 mins
mbox_min_index_size = 0
mbox_read_locks = fcntl
mbox_very_dirty_syncs = no
mbox_write_locks = dotlock fcntl
mdbox_preallocate_space = no
mdbox_rotate_interval = 0
mdbox_rotate_size = 2 M
mmap_disable = no
namespace {
hidden = no
inbox = yes
list = yes
location prefix = INBOX.
separator = .
subscriptions = yes
type = private
}
namespace {
hidden = no
inbox = no
list = yes
location = maildir:/home/vpopmail/domains/acemt.com/shared/projects
prefix = projects.
separator = .
subscriptions = yes
type = public
}
passdb {
args = cache_key=%u webmail=127.0.0.1
deny = no
driver = vpopmail
master = no
pass = no
}
plugin/quota = maildir
pop3_client_workarounds pop3_enable_last = no
pop3_fast_size_lookups = no
pop3_lock_session = no
pop3_logout_format = top=%t/%p, retr=%r/%b, del=%d/%m, size=%s
pop3_no_flag_updates = no
pop3_reuse_xuidl = no
pop3_save_uidl = no
pop3_uidl_format = %08Xu%08Xv
postmaster_address protocols = imap
quota_full_tempfail = no
recipient_delimiter = +
rejection_reason = Your message to <%t> was automatically rejected:%n%r
rejection_subject = Rejected: %s
sendmail_path = /usr/sbin/sendmail
service anvil {
chroot = empty
client_limit = 0
drop_priv_before_exec = no
executable = anvil
extra_groups group idle_kill = 4294967295 secs
privileged_group process_limit = 1
process_min_avail = 1
protocol service_count = 0
type = anvil
unix_listener anvil-auth-penalty {
group mode = 0600
user }
unix_listener anvil {
group mode = 0600
user }
user = $default_internal_user
vsz_limit = 18446744073709551615 B
}
service auth-worker {
chroot client_limit = 1
drop_priv_before_exec = no
executable = auth -w
extra_groups group idle_kill = 0
privileged_group process_limit = 0
process_min_avail = 0
protocol service_count = 1
type unix_listener auth-worker {
group mode = 0600
user = $default_internal_user
}
user vsz_limit = 18446744073709551615 B
}
service auth {
chroot client_limit = 4096
drop_priv_before_exec = no
executable = auth
extra_groups group idle_kill = 0
privileged_group process_limit = 1
process_min_avail = 0
protocol service_count = 0
type unix_listener auth-client {
group mode = 0600
user }
unix_listener auth-login {
group mode = 0600
user = $default_internal_user
}
unix_listener auth-master {
group mode = 0600
user }
unix_listener auth-userdb {
group mode = 0600
user }
unix_listener login/login {
group mode = 0666
user }
user = $default_internal_user
vsz_limit = 18446744073709551615 B
}
service config {
chroot client_limit = 0
drop_priv_before_exec = no
executable = config
extra_groups group idle_kill = 0
privileged_group process_limit = 0
process_min_avail = 0
protocol service_count = 0
type = config
unix_listener config {
group mode = 0600
user }
user vsz_limit = 18446744073709551615 B
}
service dict {
chroot client_limit = 1
drop_priv_before_exec = no
executable = dict
extra_groups group idle_kill = 0
privileged_group process_limit = 0
process_min_avail = 0
protocol service_count = 0
type unix_listener dict {
group mode = 0600
user }
user = $default_internal_user
vsz_limit = 18446744073709551615 B
}
service director {
chroot client_limit = 0
drop_priv_before_exec = no
executable = director
extra_groups fifo_listener login/proxy-notify {
group mode = 00
user }
group idle_kill = 4294967295 secs
privileged_group process_limit = 1
process_min_avail = 0
protocol service_count = 0
type unix_listener director-admin {
group mode = 0600
user }
unix_listener login/director {
group mode = 00
user }
user = $default_internal_user
vsz_limit = 18446744073709551615 B
}
service dns_client {
chroot client_limit = 1
drop_priv_before_exec = no
executable = dns-client
extra_groups group idle_kill = 0
privileged_group process_limit = 0
process_min_avail = 0
protocol service_count = 0
type unix_listener dns-client {
group mode = 0666
user }
unix_listener login/dns-client {
group mode = 0666
user }
user = $default_internal_user
vsz_limit = 18446744073709551615 B
}
service doveadm {
chroot client_limit = 1
drop_priv_before_exec = no
executable = doveadm-server
extra_groups group idle_kill = 0
privileged_group process_limit = 0
process_min_avail = 0
protocol service_count = 1
type unix_listener doveadm-server {
group mode = 0600
user }
user vsz_limit = 18446744073709551615 B
}
service imap-login {
chroot = login
client_limit = 0
drop_priv_before_exec = no
executable = imap-login
extra_groups group idle_kill = 0
inet_listener imap {
address port = 143
ssl = no
}
inet_listener imaps {
address port = 993
ssl = yes
}
privileged_group process_limit = 0
process_min_avail = 0
protocol = imap
service_count = 1
type = login
user = $default_login_user
vsz_limit = 64 M
}
service imap {
chroot client_limit = 1
drop_priv_before_exec = no
executable = imap
extra_groups group idle_kill = 0
privileged_group process_limit = 1024
process_min_avail = 0
protocol = imap
service_count = 1
type unix_listener login/imap {
group mode = 0666
user }
user vsz_limit = 18446744073709551615 B
}
service lmtp {
chroot client_limit = 0
drop_priv_before_exec = no
executable = lmtp
extra_groups group idle_kill = 0
privileged_group process_limit = 0
process_min_avail = 0
protocol = lmtp
service_count = 0
type unix_listener lmtp {
group mode = 0666
user }
user vsz_limit = 0
}
service log {
chroot client_limit = 0
drop_priv_before_exec = no
executable = log
extra_groups group idle_kill = 0
privileged_group process_limit = 1
process_min_avail = 0
protocol service_count = 0
type = log
user vsz_limit = 18446744073709551615 B
}
service pop3-login {
chroot = login
client_limit = 0
drop_priv_before_exec = no
executable = pop3-login
extra_groups group idle_kill = 0
inet_listener pop3 {
address port = 110
ssl = no
}
inet_listener pop3s {
address port = 995
ssl = yes
}
privileged_group process_limit = 0
process_min_avail = 0
protocol = pop3
service_count = 1
type = login
user = $default_login_user
vsz_limit = 64 M
}
service pop3 {
chroot client_limit = 1
drop_priv_before_exec = no
executable = pop3
extra_groups group idle_kill = 0
privileged_group process_limit = 1024
process_min_avail = 0
protocol = pop3
service_count = 1
type unix_listener login/pop3 {
group mode = 0666
user }
user vsz_limit = 18446744073709551615 B
}
service ssl-params {
chroot client_limit = 0
drop_priv_before_exec = no
executable = ssl-params
extra_groups group idle_kill = 0
privileged_group process_limit = 0
process_min_avail = 0
protocol service_count = 0
type = startup
unix_listener login/ssl-params {
group mode = 0666
user }
user vsz_limit = 18446744073709551615 B
}
shutdown_clients = yes
ssl = yes
ssl_ca ssl_cert = </var/qmail/control/servercert.pem
ssl_cert_username_field = commonName
ssl_cipher_list = ALL:!LOW:!SSLv2:!EXP:!aNULL
ssl_key = </var/qmail/control/servercert.pem
ssl_key_password ssl_parameters_file = ssl-parameters.dat
ssl_parameters_regenerate = 168
ssl_verify_client_cert = no
submission_host syslog_facility = mail
userdb {
args = cache_key=%u quota_template=quota_rule=*:backend=%q
driver = vpopmail
}
valid_chroot_dirs verbose_auth = no
verbose_proctitle = no
verbose_ssl = no
version_ignore = no
protocol imap {
imap_client_workarounds = delay-newmail
}
Quoting Eric Broch <ebroch at whitehorsetc.com>:> I have dovecot 2.0.11 installed on a CentOS 5.7 email server. Two of the > server email clients, one using Outlook and the other Thunderbird, have > had all the contents of their inbox disappear only to reappear at a > later time. One client's inbox email reappeared upon receiving a test > email (to check if it would show up in the inbox) from another user. Has > anyone heard of such a thing?After a recent upgrade - I've had an issue with an older version of Horde not displaying the INBOX. I've gotten it to restore by removing custom Sorting options. I upgraded Dovecot, the backend server, and PHP all relatively recently, but having only seen it with my older Horde install I figured it was a PHP issue. Just for giggles you could ask those users to use a different Sort method.. Rick
What you're describing has been a symptom of a corrupted index/uidlist our experience. Now *what's* corrupting it, depends on your setup. Just to clarify, you're using a single dovecot IMAP/POP3 mail server and not multiple servers, correct? And equally important, are you using a NFS backend for the Maildirs? If so, read these: http://wiki.dovecot.org/NFS http://dovecot.org/list/dovecot/2010-May/049031.html And look into this: http://wiki2.dovecot.org/Director If not, check the log files, are you getting corrupted index errors for the users in question? Check their quotas, are they all under? If they're at quota, then dovecot can't update the index or uidlist for that user. One solution: http://www.mailinglistarchive.com/html/dovecot at dovecot.org/2010-08/msg01028.html That's what first comes to mind for me. * Eric Broch <ebroch at whitehorsetc.com> [2011-10-10 13:04:44 -0600]:> I have dovecot 2.0.11 installed on a CentOS 5.7 email server. Two of the > server email clients, one using Outlook and the other Thunderbird, have > had all the contents of their inbox disappear only to reappear at a > later time. One client's inbox email reappeared upon receiving a test > email (to check if it would show up in the inbox) from another user. Has > anyone heard of such a thing? > > Here's a dump of my dovecot configuration. >-- Tom Pawlowski OIT-CSS System Administrator office: Hill 147 email: tompru at jla.rutgers.edu phone: (732) 445-2634