Emails not visible after renaming folders

Aleksandr perf.rus at gmail.com
Tue Aug 6 14:22:50 EEST 2019


Hi guys.

Does anyone have problems with a similar configuration (mdbox)?

Just tested with latest version (stage servers installation: dovecot 2.3.7), also affected.

Not critical, but have complaints from users, 1-2 per month.


26.06.2019 12:05, Aleksandr пишет:
> Copying or moving with email client: thunderbird, roundcube (webmail), mutt or any other email client via imap protocol.
>
> 25.06.2019 22:10, Germán Herrera пишет:
>> Are you copying/moving the emails with {cp|mv} or with "doveadm {copy|move}"?
>>
>> On 2019-06-25 12:00, Aleksandr via dovecot wrote:
>>> Hello,
>>>
>>> I have strange problem with "losing" emails after rename mail
>>> folder(s) (via imap client: thunderbird, roundcude, etc..)
>>>
>>> How to reproduce:
>>>
>>> 1. Create some folder name, like TEST
>>> 2. Create sub-folder under TEST (like SUBTEST)
>>>
>>> Structure:
>>>
>>> TEST
>>>   |--SUBTEST
>>>
>>>
>>> # doveadm  mailbox list  -u postmaster at testmailbox
>>> Spam
>>> Trash
>>> Sent
>>> Drafts
>>> INBOX
>>> TEST
>>> TEST/SUBTEST
>>>
>>> 3. Move (or copy) mails from INBOX to SUBTEST (all looks fine, and
>>> mails visible under SUBTEST)
>>> 4. Rename TEST folder to any new name, NEWTEST
>>>
>>> Let`s try to view mails in mail client in NEWTEST-SUBTEST, folder have
>>> no emails :(
>>>
>>>
>>> mailsrv# doveadm -f table mailbox status -u postmaster at testmailbox
>>> "messages vsize" NEWTEST*
>>> mailbox      messages vsize
>>> NEWTEST         0        0
>>> NEWTEST/SUBTEST 0        0
>>>
>>> If doveadm force-resync postmaster at testmailbox, mails will be visible in INBOX
>>>
>>> mailsrv# doveadm -f table mailbox status -u postmaster at testmailbox
>>> "messages vsize" INBOX*
>>> mailbox messages vsize
>>> INBOX   2        28
>>>
>>> Dovecot installation: CentOS x86_64 Linux 7.5.1804
>>>
>>> Storage: HDD Local Partition - XFS filesystem  / multi-dbox (mdbox) as
>>> mail_storage (this problem is not reproduced with the settings as
>>> Maildir storage !)
>>> somthing wrong with mapping indices.
>>>
>>>
>>> ---- [start] ----
>>>
>>> # dovecot -n
>>>
>>> # 2.2.36 (1f10bfa63): /etc/dovecot/dovecot.conf
>>> # Pigeonhole version 0.4.21 (92477967)
>>> # OS: Linux 3.10.0-862.2.3.el7.x86_64 x86_64 CentOS Linux release
>>> 7.5.1804 (Core)
>>> # Hostname: xxxx
>>> auth_mechanisms = plain login digest-md5 cram-md5
>>> base_dir = /var/run/dovecot/
>>> default_client_limit = 20000
>>> default_login_user = dovecot
>>> default_process_limit = 10000
>>> dict {
>>>   quota = redis:host=127.0.0.1:prefix=user/:timeout_msecs=1000
>>> }
>>> disable_plaintext_auth = no
>>> first_valid_gid = 90
>>> first_valid_uid = 90
>>> imapc_features = rfc822.size fetch-headers
>>> imapc_host = xxxx
>>> imapc_user = %u
>>> lda_mailbox_autocreate = yes
>>> lda_mailbox_autosubscribe = yes
>>> login_greeting = xxxx.
>>> login_log_format_elements = user=<%u> method=%m rip=%r lip=%l %c
>>> login_trusted_networks = 10.0.1.0/24
>>> mail_access_groups = mail
>>> mail_debug = yes
>>> mail_fsync = never
>>> mail_gid = 97
>>> mail_location =
>>> mdbox:~/mail/mailboxes:FULLDIRNAME=mBoX-MeSsAgEs:INDEX=~/mail/index:CONTROL=~/mail/control:INBOX=~/mail/mailboxes/inbox
>>> mail_log_prefix = "%{session} %Us(%u): "
>>> mail_max_lock_timeout = 30 secs
>>> mail_plugins = quota  zlib
>>> mail_prefetch_count = 20
>>> mail_privileged_group = mail
>>> mail_uid = 97
>>> managesieve_notify_capability = mailto
>>> managesieve_sieve_capability = fileinto reject envelope
>>> encoded-character vacation subaddress comparator-i;ascii-numeric
>>> relational regex imap4flags copy include variables enotify environment
>>> mailbox date index ihave duplicate mime foreverypart extracttext
>>> vacation-seconds editheader
>>> mbox_lock_timeout = 30 secs
>>> mbox_very_dirty_syncs = yes
>>> mbox_write_locks = fcntl
>>> namespace inbox {
>>>   inbox = yes
>>>   list = yes
>>>   location =
>>>   mailbox Drafts {
>>>     auto = subscribe
>>>     special_use = \Drafts
>>>   }
>>>   mailbox Sent {
>>>     auto = subscribe
>>>     special_use = \Sent
>>>   }
>>>   mailbox Spam {
>>>     auto = subscribe
>>>   }
>>>   mailbox Trash {
>>>     auto = subscribe
>>>     special_use = \Trash
>>>   }
>>>   prefix =
>>>   separator = /
>>>   type = private
>>> }
>>> passdb {
>>>   args = /etc/dovecot/dovecot-ldap.conf
>>>   driver = ldap
>>> }
>>> plugin {
>>>   cgroup_basedir = /usr/sys/cgroup
>>>   hostingAccount = default
>>>   quota = dict:User quota::proxy::quota
>>>   quota_grace = 0%%
>>>   quota_over_flag_value = TRUE
>>>   quota_over_script = account-quota mismatch %u
>>>   quota_rule = *:storage=4T
>>>   quota_warning = storage=101%% account-quota block %u
>>>   quota_warning1 = -storage=100%% account-quota unblock %u
>>>   sieve = file:~/sieve;active=~/.dovecot.sieve
>>>   sieve_before = /home/sieve/%d/
>>>   sieve_extensions = +editheader +vacation-seconds -body
>>>   sieve_max_redirects = 200
>>>   sieve_vacation_min_period = 1s
>>>   trash_folder = Trash
>>>   zlib_save = lz4
>>>   zlib_save_level = 6
>>> }
>>> pop3_delete_type = expunge
>>> protocols = imap pop3 sieve
>>> service account-quota {
>>>   executable = script /usr/local/scripts/account-quota
>>>   unix_listener account-quota {
>>>     mode = 0666
>>>     user = dovecot
>>>   }
>>>   user = dovecot
>>> }
>>> service anvil {
>>>   chroot = /var/empty
>>>   client_limit = 0
>>>   drop_priv_before_exec = no
>>>   executable = anvil
>>>   extra_groups =
>>>   group = $default_internal_user
>>>   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 = $default_internal_user
>>>     mode = 0660
>>>     user = dovecot
>>>   }
>>>   unix_listener anvil {
>>>     group = $default_internal_user
>>>     mode = 0660
>>>     user = dovecot
>>>   }
>>>   user = $default_internal_user
>>>   vsz_limit = 18446744073709551615 B
>>> }
>>> service auth-worker {
>>>   chroot = /var/empty
>>>   user = $default_internal_user
>>> }
>>> service auth {
>>>   chroot = /var/empty
>>>   executable = /usr/libexec/dovecot/auth
>>>   unix_listener auth-client {
>>>     mode = 0660
>>>   }
>>>   unix_listener auth-master {
>>>     mode = 0666
>>>   }
>>>   unix_listener auth-userdb {
>>>     mode = 0777
>>>   }
>>>   user = $default_internal_user
>>> }
>>> service dict {
>>>   executable = /usr/libexec/dovecot/dict
>>>   unix_listener dict {
>>>     mode = 0600
>>>     user = $default_internal_user
>>>   }
>>> }
>>> service imap-login {
>>>   executable = /usr/libexec/dovecot/imap-login
>>>   inet_listener imap {
>>>     address = xxxxxxx
>>>     port = 143
>>>   }
>>>   process_limit = 10000
>>>   process_min_avail = 1
>>>   service_count = 0
>>>   user = dovecot
>>> }
>>> service imap {
>>>   executable = /usr/libexec/dovecot/imap
>>>   process_limit = 18000
>>>   process_min_avail = 1
>>>   service_count = 0
>>>   vsz_limit = 256 M
>>> }
>>> service lmtp {
>>>   process_limit = 10
>>> }
>>> service pop3-login {
>>>   executable = /usr/libexec/dovecot/pop3-login
>>>   inet_listener pop3 {
>>>     address = xxxxxx
>>>     port = 110
>>>   }
>>>   process_limit = 1000
>>>   process_min_avail = 1
>>>   service_count = 0
>>>   user = dovecot
>>>   vsz_limit = 256 M
>>> }
>>> service pop3 {
>>>   executable = /usr/libexec/dovecot/pop3
>>>   process_limit = 1000
>>>   process_min_avail = 1
>>>   service_count = 0
>>> }
>>> service send-warning {
>>>   executable = script /usr/local/scripts/send-warning
>>>   unix_listener send-warning {
>>>     mode = 0666
>>>     user = dovecot
>>>   }
>>>   user = dovecot
>>> }
>>> shutdown_clients = no
>>> ssl_cert = </etc/dovecot/xxxx.crt
>>> ssl_key =  # hidden, use -P to show it
>>> userdb {
>>>   args = /etc/dovecot/dovecot-ldap.conf
>>>   driver = ldap
>>> }
>>> verbose_proctitle = yes
>>> protocol lda {
>>>   mail_plugins = sieve quota cgroups zlib
>>> }
>>> protocol imap {
>>>   imap_client_workarounds = delay-newmail tb-extra-mailbox-sep
>>>   mail_max_userip_connections = 50
>>>   mail_plugins = quota imap_quota mail_log notify cgroups zlib
>>> }
>>> protocol pop3 {
>>>   mail_max_userip_connections = 20
>>>   mail_plugins = quota cgroups zlib
>>>   pop3_client_workarounds = outlook-no-nuls oe-ns-eoh
>>>   pop3_enable_last = no
>>>   pop3_no_flag_updates = yes
>>>   pop3_uidl_format = %08Xu%08Xv
>>> }
>>> ---- [end] ----
>>>
>>>
>>> Regards,
>>>
>>> Aleksandr.


More information about the dovecot mailing list