Shared mailboxes, index files and 'per-user-seen' flags
Marco Giunta
giunta at sissa.it
Thu Jun 7 10:37:00 EEST 2018
Hi Thomas,
it is a known problem:
https://www.dovecot.org/pipermail/dovecot/2018-February/111057.html
Try the solution suggested in above mail; it works for me.
Thanks,
Marco
On 2018-06-06 13:53, Thomas Robers wrote:
> 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