Can sync/migrate all mail from remote imap account except the main "INBOX"

Darren Mobley decker at n3t.net
Wed May 18 13:59:25 UTC 2022


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 at hellodemo.ppl -o imapc_rawlog_dir=/tmp/raww -o mail_prefetch_count=20  sync  -1Ru mailto:saywhatnow at 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 at 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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://dovecot.org/pipermail/dovecot/attachments/20220518/548e328b/attachment.htm>


More information about the dovecot mailing list