Your example pointed me to a solution, excellent !
In my case I only needed one pass, I had to supply both imapc_list_prefix AND imapc_prefix AND the "namespace/inbox/prefix=" options. In case anyone runs into this in the future, here's a decent place to start for debugging:
/usr/bin/doveadm -Dv -o imapc_list_prefix=INBOX -o imapc_prefix=INBOX. -o "namespace/inbox/prefix=" -o mail_fsync=never -o dsync_commit_msgs_interval=100 -o imapc_features=rfc822.size,fetch-headers -o dsync_features=empty-header-workaround -o imapc_port=143 -o imapc_host=127.0.0.1 -o imapc_password=yayforpasswords -o imapc_user=mailto:wah@hellodemo.ppl -o imapc_rawlog_dir=/tmp/raww -o mail_prefetch_count=20 sync -1Ru mailto:saywhatnow@letest.tld imapc:
Thanks again for digging through the old emails where the magic incantations were, I really appreciate it! Darren
---- On Wed, 18 May 2022 05:19:53 -0500 Sami Ketola sami@ketola.io wrote ----
So adding "-o imapc_list_prefix=INBOX" to the doveadm command line should fix that, I would think ?
So is the remote INBOX really 'INBOX' or 'INBOX.INBOX'? Command line arguments depend on which one it is.
I managed to find some old archived emails with some tips on how it was solved back then. It was done with something like this:
normal doveadm command:
'LOG_STDERR_TIMESTAMP="%b %d %H:%M:%S.%{usecs} " ' + '/usr/bin/doveadm' + dsync_debug + \
" -o mail_prefetch_count=10 " + \
" -o imapc_features=fetch-headers " + \
" -o imapc_host=" + legacy_host + \
" -o imapc_port=" + legacy_port + \
" -o imapc_list_prefix=" + imapc_prefix + \
" -o imapc_prefix=" + imapc_prefix + \
" -o imapc_user=" + self.legacy_user + \
" -o imapc_master_user=" + self.legacy_user + \
" -o imapc_password=" + imapc_master_password + \
" -o mail_fsync=never " + \
" backup -u " + self.uid + \
" -R imapc: >> " + dsync_err_log_location + self.uid + ".dsync_err.log 2>&1"
If I remember correctly imapc_prefix was 'INBOX/' since this customer had INBOX/INBOX setup with / as separator.
and if user had INBOX/INBOX detected this command was run on top of that to migrate INBOX:
'LOG_STDERR_TIMESTAMP="%b %d %H:%M:%S.%{usecs} " ' + '/usr/bin/doveadm' + dsync_debug + \
" -o namespace/inbox/prefix= " + \
" -o mail_prefetch_count=10 " + \
" -o imapc_features=fetch-headers " + \
" -o imapc_host=" + legacy_host + \
" -o imapc_port=" + legacy_port + \
" -o imapc_user=" + self.legacy_user + \
" -o imapc_master_user=" + self.legacy_user + \
" -o imapc_password=" + imapc_master_password + \
" -o mail_fsync=never " + \
" backup -u " + self.uid + \
" -m INBOX/INBOX " + \
" -R imapc: >> " + dsync_err_log_location + self.uid + ".dsync_err.log 2>&1"
HTH,
Sami