Shared mailboxes, index files and 'per-user-seen' flags
Thomas Robers
robers at tutech.de
Wed Jun 6 14:53:58 EEST 2018
Hello,
i have a dovecot server version 2.3.1 under CentOS 6.9 and we're
using shared mailboxes with index files shared. With this configuration
I can see a lot of error messages like:
Jun 6 13:20:31 mail dovecot: Error: imap(userA at tutech.de)<4513>
<onjjWPdtDuLAqG3R>: /export/home/imap/userA at tutech.de/shared
/userB at tutech.de/folder/dovecot.index.pvt view is inconsistent
In 10-mail.conf the location setting is:
location = maildir:%%h/Maildir:INDEXPVT=%h/shared/%%u
I thought setting the index files to "not shared" might help to
get rid of the errors, so I changed the setting to:
location = maildir:%%h/Maildir:INDEX=%h/shared/%%u:INDEXPVT=%h
/shared/%%u
like it's mentioned in the Dovecot wiki. But that doesn't work as
I expected, because the 'per-user-seen' flags do not work correctly
anymore, i think. If UserA, who has UserB as shared mailbox,
changes the seen flags of UserBs INBOX, UserBs seen flags are also
changed. The other way, if UserB changes seen flags in his INBOX
they are not changed in the shared view of UserA. Is this the
supposed way to work or do i have an error in the configuration?
Any help is appreciated.
Thanks, Thomas.
Here's my currently used configuration:
# 2.3.1 (c5a5c0c82): /etc/dovecot/dovecot.conf
# Pigeonhole version 0.5.devel (61b47828)
# OS: Linux 2.6.32-696.23.1.el6.x86_64 x86_64 CentOS release 6.9 (Final)
ext4
# Hostname: mail.tutech.de
auth_master_user_separator = *
auth_mechanisms = plain login
auth_verbose = yes
disable_plaintext_auth = no
doveadm_password = # hidden, use -P to show it
doveadm_port = 12345
imap_max_line_length = 2 M
mail_debug = yes
mail_location = maildir:/export/home/imap/%Lu/Maildir
mail_plugins = acl zlib mail_log notify
mail_prefetch_count = 1
mailbox_idle_check_interval = 10 secs
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 index ihave duplicate mime foreverypart extracttext
namespace {
hidden = no
ignore_on_failure = no
inbox = no
list = children
location = maildir:%%h/Maildir:INDEXPVT=%h/shared/%%u
prefix = shared/%%u/
separator = /
subscriptions = yes
type = shared
}
namespace inbox {
hidden = no
inbox = yes
list = yes
location =
mailbox Drafts {
special_use = \Drafts
}
mailbox Junk {
special_use = \Junk
}
mailbox Sent {
special_use = \Sent
}
mailbox "Sent Messages" {
special_use = \Sent
}
mailbox Trash {
special_use = \Trash
}
prefix = INBOX/
separator = /
type = private
}
passdb {
args = /etc/dovecot/master-users
driver = passwd-file
master = yes
}
passdb {
args = /etc/dovecot/dovecot-ldap.conf.ext
driver = ldap
}
plugin {
acl = vfile:/etc/dovecot/global-acls:cache_secs=300
acl_shared_dict = file:/export/home/shared-db/shared-mailboxes
mail_log_events = append delete undelete expunge copy mailbox_delete
mailbox_rename flag_change
mail_log_fields = uid box msgid size from flags
mail_replica = tcp:mail2.tutech.de
sieve = ~/.dovecot.sieve
sieve_dir = ~/sieve
sieve_global = /var/lib/dovecot/sieve/global/
sieve_user_log = ~/.dovecot.sieve.log
zlib_save = gz
zlib_save_level = 6
}
protocols = imap pop3 lmtp sieve sieve
service aggregator {
fifo_listener replication-notify-fifo {
mode = 0666
user = vmail
}
unix_listener replication-notify {
mode = 0666
user = vmail
}
}
service auth {
unix_listener /var/spool/postfix/private/auth {
mode = 0666
}
unix_listener auth-userdb {
group = vmail
mode = 0660
user = vmail
}
}
service config {
unix_listener config {
user = vmail
}
}
service doveadm {
inet_listener {
port = 12345
}
user = vmail
}
service imap-login {
inet_listener imaps {
port = 993
ssl = yes
}
process_limit = 500
process_min_avail = 20
}
service imap {
executable = imap
}
service lmtp {
inet_listener lmtp {
address = 127.0.0.1
port = 24
}
}
service managesieve-login {
inet_listener sieve {
port = 4190
}
inet_listener sieve_deprecated {
port = 2000
}
}
service pop3-login {
inet_listener pop3s {
port = 995
ssl = yes
}
}
service pop3 {
executable = pop3
}
service replicator {
unix_listener replicator-doveadm {
mode = 0666
}
}
ssl = required
ssl_cert = </etc/pki/dovecot/certs/mail.tutech.de.crt_chain
ssl_cipher_list = ALL:!LOW:!SSLv2:!EXP:!aNULL:!EXPORT
ssl_dh = # hidden, use -P to show it
ssl_key = # hidden, use -P to show it
syslog_facility = local6
userdb {
args = /etc/dovecot/dovecot-ldap-userdb.conf.ext
driver = ldap
}
protocol lmtp {
mail_plugins = acl zlib mail_log notify sieve
}
protocol imap {
mail_max_userip_connections = 100
mail_plugins = acl zlib mail_log notify imap_zlib imap_acl
rawlog_dir = /tmp/rawlog/%u
}
More information about the dovecot
mailing list