<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <font face="Noto Sans">Hello,<br>
      <br>
      i am using dovecot 2.3.4.1<br>
      <br>
      I am tyring to make a script using the doveadm move command to
      move old emails into a subfolder of the users INBOX ; say all
      mails from 2016 into INBOX/2016.<br>
      Selecting and moving is not the issue; everything works just i am
      amazed that the (test) mail client Thunderbird downloads all mails
      in INBOX/2016 after the move.<br>
      <br>
      When i make an IMAP move of all 2016-mails in Thunderbird; mails
      are moved between the mailboxes without any mails being
      (re-)downloaded.<br>
      So what am i missing here?<br>
      <br>
      Thank for the tip :)<br>
      Kind regards,<br>
      Tom<br>
      <br>
      the doveadm move debug output is :<br>
    </font><br>
    <font face="Noto Sans"> </font>
    <pre>Debug: Loading modules from directory: /usr/lib/dovecot/modules
Debug: Module loaded: /usr/lib/dovecot/modules/lib10_quota_plugin.so
Debug: Module loaded: /usr/lib/dovecot/modules/lib20_listescape_plugin.so
Debug: Module loaded: /usr/lib/dovecot/modules/lib20_zlib_plugin.so
Debug: Loading modules from directory: /usr/lib/dovecot/modules/doveadm
Debug: Skipping module doveadm_acl_plugin, because dlopen() failed: /usr/lib/dovecot/modules/doveadm/lib10_doveadm_acl_plugin.so: undefined symbol: acl_user_module (this is usually intentional, so just ignore this message)
Debug: Skipping module doveadm_expire_plugin, because dlopen() failed: /usr/lib/dovecot/modules/doveadm/lib10_doveadm_expire_plugin.so: undefined symbol: expire_set_deinit (this is usually intentional, so just ignore this message)
Debug: Module loaded: /usr/lib/dovecot/modules/doveadm/lib10_doveadm_quota_plugin.so
Debug: Module loaded: /usr/lib/dovecot/modules/doveadm/lib10_doveadm_sieve_plugin.so
Debug: Skipping module doveadm_fts_lucene_plugin, because dlopen() failed: /usr/lib/dovecot/modules/doveadm/lib20_doveadm_fts_lucene_plugin.so: undefined symbol: lucene_index_iter_deinit (this is usually intentional, so just ignore this message)
Debug: Skipping module doveadm_fts_plugin, because dlopen() failed: /usr/lib/dovecot/modules/doveadm/lib20_doveadm_fts_plugin.so: undefined symbol: fts_user_get_language_list (this is usually intentional, so just ignore this message)
Debug: Skipping module doveadm_mail_crypt_plugin, because dlopen() failed: /usr/lib/dovecot/modules/doveadm/libdoveadm_mail_crypt_plugin.so: undefined symbol: mail_crypt_box_get_pvt_digests (this is usually intentional, so just ignore this message)
doveadm(<a class="moz-txt-link-abbreviated" href="mailto:tom@somedomain.org">tom@somedomain.org</a>)<17541><>: Debug: auth USER input: <a class="moz-txt-link-abbreviated" href="mailto:tom@somedomain.org">tom@somedomain.org</a> uid=5000 gid=5000 home=/mailstore/somedomain.org/to/tom/
doveadm(<a class="moz-txt-link-abbreviated" href="mailto:tom@somedomain.org">tom@somedomain.org</a>): Debug: Effective uid=5000, gid=5000, home=/mailstore/somedomain.org/to/tom/
doveadm(<a class="moz-txt-link-abbreviated" href="mailto:tom@somedomain.org">tom@somedomain.org</a>): Debug: Quota root: name=User quota backend=maildir args=
doveadm(<a class="moz-txt-link-abbreviated" href="mailto:tom@somedomain.org">tom@somedomain.org</a>): Debug: Quota rule: root=User quota mailbox=* bytes=8589934592 messages=0
doveadm(<a class="moz-txt-link-abbreviated" href="mailto:tom@somedomain.org">tom@somedomain.org</a>): Debug: Quota rule: root=User quota mailbox=Trash bytes=+104857600 messages=0
doveadm(<a class="moz-txt-link-abbreviated" href="mailto:tom@somedomain.org">tom@somedomain.org</a>): Debug: Quota warning: bytes=8589934592 (100%) messages=0 reverse=no command=quota-warning 100 <a class="moz-txt-link-abbreviated" href="mailto:tom@somedomain.org">tom@somedomain.org</a>
doveadm(<a class="moz-txt-link-abbreviated" href="mailto:tom@somedomain.org">tom@somedomain.org</a>): Debug: Quota warning: bytes=8504035246 (99%) messages=0 reverse=no command=quota-warning 99 <a class="moz-txt-link-abbreviated" href="mailto:tom@somedomain.org">tom@somedomain.org</a>
doveadm(<a class="moz-txt-link-abbreviated" href="mailto:tom@somedomain.org">tom@somedomain.org</a>): Debug: Quota warning: bytes=8418135900 (98%) messages=0 reverse=no command=quota-warning 98 <a class="moz-txt-link-abbreviated" href="mailto:tom@somedomain.org">tom@somedomain.org</a>
doveadm(<a class="moz-txt-link-abbreviated" href="mailto:tom@somedomain.org">tom@somedomain.org</a>): Debug: Quota warning: bytes=8246337208 (96%) messages=0 reverse=no command=quota-warning 96 <a class="moz-txt-link-abbreviated" href="mailto:tom@somedomain.org">tom@somedomain.org</a>
doveadm(<a class="moz-txt-link-abbreviated" href="mailto:tom@somedomain.org">tom@somedomain.org</a>): Debug: Quota warning: bytes=8074538516 (94%) messages=0 reverse=no command=quota-warning 94 <a class="moz-txt-link-abbreviated" href="mailto:tom@somedomain.org">tom@somedomain.org</a>
doveadm(<a class="moz-txt-link-abbreviated" href="mailto:tom@somedomain.org">tom@somedomain.org</a>): Debug: Quota warning: bytes=7902739824 (92%) messages=0 reverse=no command=quota-warning 92 <a class="moz-txt-link-abbreviated" href="mailto:tom@somedomain.org">tom@somedomain.org</a>
doveadm(<a class="moz-txt-link-abbreviated" href="mailto:tom@somedomain.org">tom@somedomain.org</a>): Debug: Quota warning: bytes=7730941132 (90%) messages=0 reverse=no command=quota-warning 90 <a class="moz-txt-link-abbreviated" href="mailto:tom@somedomain.org">tom@somedomain.org</a>
doveadm(<a class="moz-txt-link-abbreviated" href="mailto:tom@somedomain.org">tom@somedomain.org</a>): Debug: Quota warning: bytes=7301444403 (85%) messages=0 reverse=no command=quota-warning 85 <a class="moz-txt-link-abbreviated" href="mailto:tom@somedomain.org">tom@somedomain.org</a>
doveadm(<a class="moz-txt-link-abbreviated" href="mailto:tom@somedomain.org">tom@somedomain.org</a>): Debug: Quota warning: bytes=6871947673 (80%) messages=0 reverse=no command=quota-warning 80 <a class="moz-txt-link-abbreviated" href="mailto:tom@somedomain.org">tom@somedomain.org</a>
doveadm(<a class="moz-txt-link-abbreviated" href="mailto:tom@somedomain.org">tom@somedomain.org</a>): Debug: Quota warning: bytes=6012954214 (70%) messages=0 reverse=no command=quota-warning 70 <a class="moz-txt-link-abbreviated" href="mailto:tom@somedomain.org">tom@somedomain.org</a>
doveadm(<a class="moz-txt-link-abbreviated" href="mailto:tom@somedomain.org">tom@somedomain.org</a>): Debug: Quota warning: bytes=8589934592 (100%) messages=0 reverse=yes command=quota-warning 0 <a class="moz-txt-link-abbreviated" href="mailto:tom@somedomain.org">tom@somedomain.org</a>
doveadm(<a class="moz-txt-link-abbreviated" href="mailto:tom@somedomain.org">tom@somedomain.org</a>): Debug: Quota grace: root=User quota bytes=47185920
doveadm(<a class="moz-txt-link-abbreviated" href="mailto:tom@somedomain.org">tom@somedomain.org</a>): Debug: Namespace inbox: type=private, prefix=, sep=/, inbox=yes, hidden=no, list=yes, subscriptions=yes location=maildir:/mailstore/somedomain.org/to/tom:INDEX=/indexes/somedomain.org/to/tom:INBOX=/mailstore/somedomain.org/to/tom/.INBOX:VOLATILEDIR=/tmp/dovecot:NO-NOSELECT:UTF-8
doveadm(<a class="moz-txt-link-abbreviated" href="mailto:tom@somedomain.org">tom@somedomain.org</a>): Debug: maildir++: root=/mailstore/somedomain.org/to/tom, index=/indexes/somedomain.org/to/tom, indexpvt=, control=, inbox=/mailstore/somedomain.org/to/tom/.INBOX, alt=
doveadm(<a class="moz-txt-link-abbreviated" href="mailto:tom@somedomain.org">tom@somedomain.org</a>): Debug: quota: quota_over_flag check: quota_over_script unset - skipping
doveadm(<a class="moz-txt-link-abbreviated" href="mailto:tom@somedomain.org">tom@somedomain.org</a>): Debug: Mailbox INBOX/2016: Mailbox opened because: move
doveadm(<a class="moz-txt-link-abbreviated" href="mailto:tom@somedomain.org">tom@somedomain.org</a>): Debug: Mailbox INBOX: Mailbox opened because: move
doveadm(<a class="moz-txt-link-abbreviated" href="mailto:tom@somedomain.org">tom@somedomain.org</a>): Debug: Mailbox INBOX/2016: saving UID 0: Opened mail because: mail stream
doveadm(<a class="moz-txt-link-abbreviated" href="mailto:tom@somedomain.org">tom@somedomain.org</a>): Debug: Mailbox INBOX: UID 52642: Opened mail because: mail stream
doveadm(<a class="moz-txt-link-abbreviated" href="mailto:tom@somedomain.org">tom@somedomain.org</a>): Debug: Mailbox INBOX/2016: saving UID 0: Opened mail because: mail stream
doveadm(<a class="moz-txt-link-abbreviated" href="mailto:tom@somedomain.org">tom@somedomain.org</a>): Debug: Mailbox INBOX: UID 52643: Opened mail because: mail stream
doveadm(<a class="moz-txt-link-abbreviated" href="mailto:tom@somedomain.org">tom@somedomain.org</a>): Debug: Mailbox INBOX/2016: saving UID 0: Opened mail because: mail stream
doveadm(<a class="moz-txt-link-abbreviated" href="mailto:tom@somedomain.org">tom@somedomain.org</a>): Debug: Mailbox INBOX: UID 52644: Opened mail because: mail stream
doveadm(<a class="moz-txt-link-abbreviated" href="mailto:tom@somedomain.org">tom@somedomain.org</a>): Debug: Mailbox INBOX/2016: saving UID 0: Opened mail because: mail stream
doveadm(<a class="moz-txt-link-abbreviated" href="mailto:tom@somedomain.org">tom@somedomain.org</a>): Debug: Mailbox INBOX: UID 52645: Opened mail because: mail stream
doveadm(<a class="moz-txt-link-abbreviated" href="mailto:tom@somedomain.org">tom@somedomain.org</a>): Debug: Mailbox INBOX/2016: saving UID 0: Opened mail because: mail stream
doveadm(<a class="moz-txt-link-abbreviated" href="mailto:tom@somedomain.org">tom@somedomain.org</a>): Debug: Mailbox INBOX: UID 52646: Opened mail because: mail stream
doveadm(<a class="moz-txt-link-abbreviated" href="mailto:tom@somedomain.org">tom@somedomain.org</a>): Debug: Mailbox INBOX/2016: saving UID 0: Opened mail because: mail stream
doveadm(<a class="moz-txt-link-abbreviated" href="mailto:tom@somedomain.org">tom@somedomain.org</a>): Debug: Mailbox INBOX: UID 52963: Opened mail because: mail stream
doveadm(<a class="moz-txt-link-abbreviated" href="mailto:tom@somedomain.org">tom@somedomain.org</a>): Debug: Mailbox INBOX/2016: saving UID 0: Opened mail because: mail stream
doveadm(<a class="moz-txt-link-abbreviated" href="mailto:tom@somedomain.org">tom@somedomain.org</a>): Debug: Mailbox INBOX: UID 52964: Opened mail because: mail stream
doveadm(<a class="moz-txt-link-abbreviated" href="mailto:tom@somedomain.org">tom@somedomain.org</a>): Debug: Mailbox INBOX/2016: saving UID 0: Opened mail because: mail stream
doveadm(<a class="moz-txt-link-abbreviated" href="mailto:tom@somedomain.org">tom@somedomain.org</a>): Debug: Mailbox INBOX: UID 52965: Opened mail because: mail stream
doveadm(<a class="moz-txt-link-abbreviated" href="mailto:tom@somedomain.org">tom@somedomain.org</a>): Debug: Mailbox INBOX/2016: saving UID 0: Opened mail because: mail stream
doveadm(<a class="moz-txt-link-abbreviated" href="mailto:tom@somedomain.org">tom@somedomain.org</a>): Debug: Mailbox INBOX: UID 52967: Opened mail because: mail stream
doveadm(<a class="moz-txt-link-abbreviated" href="mailto:tom@somedomain.org">tom@somedomain.org</a>): Debug: Mailbox INBOX/2016: saving UID 0: Opened mail because: mail stream
doveadm(<a class="moz-txt-link-abbreviated" href="mailto:tom@somedomain.org">tom@somedomain.org</a>): Debug: Mailbox INBOX: UID 52968: Opened mail because: mail stream
doveadm(<a class="moz-txt-link-abbreviated" href="mailto:tom@somedomain.org">tom@somedomain.org</a>): Debug: Mailbox INBOX/2016: saving UID 0: Opened mail because: mail stream
doveadm(<a class="moz-txt-link-abbreviated" href="mailto:tom@somedomain.org">tom@somedomain.org</a>): Debug: Mailbox INBOX: UID 52969: Opened mail because: mail stream
doveadm(<a class="moz-txt-link-abbreviated" href="mailto:tom@somedomain.org">tom@somedomain.org</a>): Debug: Mailbox INBOX/2016: saving UID 0: Opened mail because: mail stream
doveadm(<a class="moz-txt-link-abbreviated" href="mailto:tom@somedomain.org">tom@somedomain.org</a>): Debug: Mailbox INBOX: UID 52970: Opened mail because: mail stream
doveadm(<a class="moz-txt-link-abbreviated" href="mailto:tom@somedomain.org">tom@somedomain.org</a>): Debug: Mailbox INBOX/2016: saving UID 0: Opened mail because: mail stream
doveadm(<a class="moz-txt-link-abbreviated" href="mailto:tom@somedomain.org">tom@somedomain.org</a>): Debug: Mailbox INBOX: UID 52972: Opened mail because: mail stream
</pre>
    <font face="Noto Sans">
      <style type="text/css">pre { font-family: "Liberation Mono", monospace; font-size: 10pt; background: transparent }p { margin-bottom: 0.1in; line-height: 115%; background: transparent }</style>etc
      etc...<br>
      obscured config :<br>
    </font><br>
    <font face="Noto Sans"> </font>
    <pre># 2.3.4.1 (f79e8e7e4): /etc/dovecot/dovecot.conf
# Pigeonhole version 0.5.4 ()
# OS: Linux 4.19.194-rt81 x86_64 Debian 10.0 ext4
# Hostname: hardy.somedomain.org
auth_cache_negative_ttl = 7 mins
auth_cache_size = 20 M
auth_cache_ttl = 12 mins
auth_cache_verify_password_with_worker = yes
auth_failure_delay = 9 secs
auth_mechanisms = plain login
auth_username_chars = 
auth_worker_max_count = 90
default_client_limit = 2500
default_process_limit = 500
default_vsz_limit = 4 G
hostname = post.somedomain.org
imap_capability = +SPECIAL_USE
imap_fetch_failure = no-after
imap_hibernate_timeout = 15 secs
imap_idle_notify_interval = 4 mins
imap_max_line_length = 512 k
lda_mailbox_autocreate = yes
lda_mailbox_autosubscribe = yes
lda_original_recipient_header = X-Original-To
listen = *
lmtp_rcpt_check_quota = yes
login_log_format_elements = user=<%u> method=%m rip=%r lip=%l mpid=%e %c %k
mail_cache_min_mail_count = 15
mail_fsync = never
mail_location = maildir:/mailstore/%d/%2n/%n:INDEX=/indexes/%d/%2n/%n:INBOX=/mailstore/%d/%2n/%n/.INBOX:VOLATILEDIR=/tmp/dovecot:NO-NOSELECT:UTF-8
mail_max_keyword_length = 100
mail_plugins = quota zlib listescape
mail_prefetch_count = 20
mail_privileged_group = mail
mail_temp_scan_interval = 0
mailbox_idle_check_interval = 55 secs
mailbox_list_index_include_inbox = yes
mailbox_list_index_very_dirty_syncs = yes
maildir_broken_filename_sizes = yes
maildir_very_dirty_syncs = yes
namespace inbox {
  inbox = yes
  location = 
  mailbox Concepts {
    auto = no
    special_use = \Drafts
  }
  mailbox "Deleted Messages" {
    auto = no
    special_use = \Trash
  }
  mailbox Drafts {
    auto = subscribe
    special_use = \Drafts
  }
  mailbox Junk {
    auto = no
    special_use = \Junk
  }
  mailbox Sent {
    auto = subscribe
    special_use = \Sent
  }
  mailbox "Sent Messages" {
    auto = no
    special_use = \Sent
  }
  mailbox Trash {
    auto = subscribe
    special_use = \Trash
  }
  prefix = 
  separator = /
  type = private
}
passdb {
  args = /etc/dovecot/passwd--%d
  driver = passwd-file
}
plugin {
  listescape_char = }
  quota = maildir:User quota
  quota_grace = 45M
  quota_rule = *:storage=8G
  quota_rule2 = Trash:storage=+100M
  quota_status_overquota = 552 5.2.2 User mailbox is full..
  quota_status_succes = DUNNO
  quota_warning = storage=100%% quota-warning 100 %u
  quota_warning10 = storage=70%% quota-warning 70 %u
  quota_warning11 = -storage=100%% quota-warning 0 %u
  quota_warning2 = storage=99%% quota-warning 99 %u
  quota_warning3 = storage=98%% quota-warning 98 %u
  quota_warning4 = storage=96%% quota-warning 96 %u
  quota_warning5 = storage=94%% quota-warning 94 %u
  quota_warning6 = storage=92%% quota-warning 92 %u
  quota_warning7 = storage=90%% quota-warning 90 %u
  quota_warning8 = storage=85%% quota-warning 85 %u
  quota_warning9 = storage=80%% quota-warning 80 %u
  sieve = ~/dovecot.sieve
  sieve_extensions = +notify +imapflags +envelope +vacation +fileinto +date +relational +vacation-seconds
  sieve_user_log = /dev/null
  sieve_vacation_min_period = 1h
  sieve_vacation_send_from_recipient = yes
  virtual_overquota_bounce = yes
  zlib_save = gz
  zlib_save_level = 3
}
pop3_fast_size_lookups = yes
protocols = imap lmtp pop3
service auth-worker {
  user = $default_internal_user
}
service auth {
  unix_listener /var/spool/postfix/private/auth {
    group = postfix
    mode = 0660
    user = postfix
  }
}
service imap-hibernate {
  unix_listener imap-hibernate {
    group = $default_internal_group
    mode = 0660
  }
}
service imap-login {
  inet_listener imap {
    port = 0
  }
  inet_listener imaps {
    address = 100.100.100.104
    port = 993
    ssl = yes
  }
  process_min_avail = 20
  service_count = 0
}
service imap {
  extra_groups = $default_internal_group
  process_limit = 5000
  unix_listener imap-master {
    user = $default_internal_user
  }
}
service lmtp {
  unix_listener /var/spool/postfix/private/dovecot-lmtp {
    group = postfix
    mode = 0600
    user = postfix
  }
}
service pop3-login {
  inet_listener pop3 {
    port = 0
  }
  inet_listener pop3s {
    address = 100.100.100.99
    port = 995
    ssl = yes
  }
  process_min_avail = 10
  service_count = 0
}
service pop3 {
  process_limit = 1000
}
service quota-warning {
  executable = script /etc/dovecot/quota-warning.sh
  unix_listener quota-warning {
    user = vmail
  }
  user = vmail
}
service submission-login {
  inet_listener submission {
    address = 127.0.0.1
    port = 587
    ssl = yes
  }
  process_min_avail = 5
  service_count = 1
}
service submission {
  process_limit = 150
}
ssl = required
ssl_cert = </etc/ssl/private/somedomain.org.crta
ssl_cipher_list = ALL:!SSLv2:!SSLv3:!DH:!kRSA:!SRP:!kDHd:!DSS:!aNULL:!eNULL:!EXPORT:!DES:!3DES:!MD5:!PSK:!RC4:!ADH:!LOW@STRENGTH:!EXP:!SEED:!IDEA:!RSA:!CAMELLIA:!SHA1:!SHA256:!SHA384
ssl_client_ca_dir = /etc/ssl/certs
ssl_dh = # hidden, use -P to show it
ssl_key = # hidden, use -P to show it
ssl_min_protocol = TLSv1.2
ssl_prefer_server_ciphers = yes
submission_host = 127.0.0.1
syslog_facility = local2
userdb {
  args = /etc/dovecot/passwd--%d
  driver = passwd-file
  result_failure = return-fail
  result_internalfail = return-fail
}
valid_chroot_dirs = /var/spool/vmail
verbose_proctitle = yes
protocol lmtp {
  mail_fsync = optimized
  mail_plugins = quota zlib listescape quota sieve zlib
  postmaster_address = <a class="moz-txt-link-abbreviated" href="mailto:postmaster@somedomain.org">postmaster@somedomain.org</a>
}
protocol lda {
  mail_fsync = optimized
}
protocol imap {
  mail_max_userip_connections = 25
  mail_plugins = quota zlib listescape imap_quota zlib
}
protocol pop3 {
  mail_max_userip_connections = 6
}
</pre>
    <font face="Noto Sans">
      <style type="text/css">pre { font-family: "Liberation Mono", monospace; font-size: 10pt; background: transparent }p { margin-bottom: 0.1in; line-height: 115%; background: transparent }</style><br>
      <br>
      <br>
    </font>
  </body>
</html>