Hello,

i am using dovecot 2.3.4.1

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. 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.

When i make an IMAP move of all 2016-mails in Thunderbird; mails are moved between the mailboxes without any mails being (re-)downloaded.
So what am i missing here?

Thank for the tip :)
Kind regards,
Tom

the doveadm move debug output is :

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(t...@somedomain.org)<17541><>: Debug: auth USER input: 
t...@somedomain.org uid=5000 gid=5000 home=/mailstore/somedomain.org/to/tom/
doveadm(t...@somedomain.org): Debug: Effective uid=5000, gid=5000, 
home=/mailstore/somedomain.org/to/tom/
doveadm(t...@somedomain.org): Debug: Quota root: name=User quota 
backend=maildir args=
doveadm(t...@somedomain.org): Debug: Quota rule: root=User quota mailbox=* 
bytes=8589934592 messages=0
doveadm(t...@somedomain.org): Debug: Quota rule: root=User quota mailbox=Trash 
bytes=+104857600 messages=0
doveadm(t...@somedomain.org): Debug: Quota warning: bytes=8589934592 (100%) 
messages=0 reverse=no command=quota-warning 100 t...@somedomain.org
doveadm(t...@somedomain.org): Debug: Quota warning: bytes=8504035246 (99%) 
messages=0 reverse=no command=quota-warning 99 t...@somedomain.org
doveadm(t...@somedomain.org): Debug: Quota warning: bytes=8418135900 (98%) 
messages=0 reverse=no command=quota-warning 98 t...@somedomain.org
doveadm(t...@somedomain.org): Debug: Quota warning: bytes=8246337208 (96%) 
messages=0 reverse=no command=quota-warning 96 t...@somedomain.org
doveadm(t...@somedomain.org): Debug: Quota warning: bytes=8074538516 (94%) 
messages=0 reverse=no command=quota-warning 94 t...@somedomain.org
doveadm(t...@somedomain.org): Debug: Quota warning: bytes=7902739824 (92%) 
messages=0 reverse=no command=quota-warning 92 t...@somedomain.org
doveadm(t...@somedomain.org): Debug: Quota warning: bytes=7730941132 (90%) 
messages=0 reverse=no command=quota-warning 90 t...@somedomain.org
doveadm(t...@somedomain.org): Debug: Quota warning: bytes=7301444403 (85%) 
messages=0 reverse=no command=quota-warning 85 t...@somedomain.org
doveadm(t...@somedomain.org): Debug: Quota warning: bytes=6871947673 (80%) 
messages=0 reverse=no command=quota-warning 80 t...@somedomain.org
doveadm(t...@somedomain.org): Debug: Quota warning: bytes=6012954214 (70%) 
messages=0 reverse=no command=quota-warning 70 t...@somedomain.org
doveadm(t...@somedomain.org): Debug: Quota warning: bytes=8589934592 (100%) 
messages=0 reverse=yes command=quota-warning 0 t...@somedomain.org
doveadm(t...@somedomain.org): Debug: Quota grace: root=User quota bytes=47185920
doveadm(t...@somedomain.org): 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(t...@somedomain.org): 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(t...@somedomain.org): Debug: quota: quota_over_flag check: 
quota_over_script unset - skipping
doveadm(t...@somedomain.org): Debug: Mailbox INBOX/2016: Mailbox opened 
because: move
doveadm(t...@somedomain.org): Debug: Mailbox INBOX: Mailbox opened because: move
doveadm(t...@somedomain.org): Debug: Mailbox INBOX/2016: saving UID 0: Opened 
mail because: mail stream
doveadm(t...@somedomain.org): Debug: Mailbox INBOX: UID 52642: Opened mail 
because: mail stream
doveadm(t...@somedomain.org): Debug: Mailbox INBOX/2016: saving UID 0: Opened 
mail because: mail stream
doveadm(t...@somedomain.org): Debug: Mailbox INBOX: UID 52643: Opened mail 
because: mail stream
doveadm(t...@somedomain.org): Debug: Mailbox INBOX/2016: saving UID 0: Opened 
mail because: mail stream
doveadm(t...@somedomain.org): Debug: Mailbox INBOX: UID 52644: Opened mail 
because: mail stream
doveadm(t...@somedomain.org): Debug: Mailbox INBOX/2016: saving UID 0: Opened 
mail because: mail stream
doveadm(t...@somedomain.org): Debug: Mailbox INBOX: UID 52645: Opened mail 
because: mail stream
doveadm(t...@somedomain.org): Debug: Mailbox INBOX/2016: saving UID 0: Opened 
mail because: mail stream
doveadm(t...@somedomain.org): Debug: Mailbox INBOX: UID 52646: Opened mail 
because: mail stream
doveadm(t...@somedomain.org): Debug: Mailbox INBOX/2016: saving UID 0: Opened 
mail because: mail stream
doveadm(t...@somedomain.org): Debug: Mailbox INBOX: UID 52963: Opened mail 
because: mail stream
doveadm(t...@somedomain.org): Debug: Mailbox INBOX/2016: saving UID 0: Opened 
mail because: mail stream
doveadm(t...@somedomain.org): Debug: Mailbox INBOX: UID 52964: Opened mail 
because: mail stream
doveadm(t...@somedomain.org): Debug: Mailbox INBOX/2016: saving UID 0: Opened 
mail because: mail stream
doveadm(t...@somedomain.org): Debug: Mailbox INBOX: UID 52965: Opened mail 
because: mail stream
doveadm(t...@somedomain.org): Debug: Mailbox INBOX/2016: saving UID 0: Opened 
mail because: mail stream
doveadm(t...@somedomain.org): Debug: Mailbox INBOX: UID 52967: Opened mail 
because: mail stream
doveadm(t...@somedomain.org): Debug: Mailbox INBOX/2016: saving UID 0: Opened 
mail because: mail stream
doveadm(t...@somedomain.org): Debug: Mailbox INBOX: UID 52968: Opened mail 
because: mail stream
doveadm(t...@somedomain.org): Debug: Mailbox INBOX/2016: saving UID 0: Opened 
mail because: mail stream
doveadm(t...@somedomain.org): Debug: Mailbox INBOX: UID 52969: Opened mail 
because: mail stream
doveadm(t...@somedomain.org): Debug: Mailbox INBOX/2016: saving UID 0: Opened 
mail because: mail stream
doveadm(t...@somedomain.org): Debug: Mailbox INBOX: UID 52970: Opened mail 
because: mail stream
doveadm(t...@somedomain.org): Debug: Mailbox INBOX/2016: saving UID 0: Opened 
mail because: mail stream
doveadm(t...@somedomain.org): Debug: Mailbox INBOX: UID 52972: Opened mail 
because: mail stream

etc etc...
obscured config :

# 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 = postmas...@somedomain.org
}
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
}




Reply via email to