Dear Dovecot users/devs,
I have the following mbox file:
/tmp/dsync_test/mbox/2002-September
I would like to convert it to a Maildir:
/tmp/dsync_test/maildir
(Currently, the latter is just an empty directory.)
I am attempting this on an old PC running Debian 9 ("Stretch"). I
installed the dovecot-core package in order to make the dsync
tool
available on that PC. I have not otherwise done anything with Dovecot
on that PC; for instance, I have not created or edited any Dovecot
config files. man dsync
gives the Dovecot version as 2.2.
Inspired by the man page and the Dovecot wiki, here was my first attempt to perform the conversion. (I have added newlines between each line of the output, for readability.)
$ dsync -Dv -o 'mail_location=maildir:/tmp/dsync_test/maildir' \
backup \
mbox:/tmp/dsync_test/mbox/:INBOX=/tmp/dsync_test/mbox/2002-September
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_lookup_dict_iterate_visible_next (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: Skipping module doveadm_quota_plugin, because dlopen()
failed:
/usr/lib/dovecot/modules/doveadm/lib10_doveadm_quota_plugin.so:
undefined symbol: quota_user_module (this is usually intentional, so
just ignore this message)
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(sampablokuper): Debug: Effective uid=1000, gid=1000,
home=/home/sampablokuper
doveadm(sampablokuper): Debug: Namespace inbox: type=private,
prefix=, sep=, inbox=yes, hidden=no, list=yes, subscriptions=yes
location=maildir:/tmp/dsync_test/maildir
doveadm(sampablokuper): Debug: maildir++:
root=/tmp/dsync_test/maildir, index=, indexpvt=, control=,
inbox=/tmp/dsync_test/maildir, alt=
doveadm(sampablokuper): Debug: Namespace : Using permissions from
/tmp/dsync_test/maildir: mode=0755 gid=default dsync(sampablokuper):
Debug: Effective uid=1000, gid=1000, home=/home/sampablokuper
dsync(sampablokuper): Debug: Namespace inbox: type=private, prefix=,
sep=, inbox=yes, hidden=no, list=yes, subscriptions=yes
location=mbox:/tmp/dsync_test/mbox/:INBOX=/tmp/dsync_test/mbox/2002-September
dsync(sampablokuper): Debug: fs: root=/tmp/dsync_test/mbox, index=,
indexpvt=, control=, inbox=/tmp/dsync_test/mbox/2002-September, alt=
dsync(sampablokuper): Error: Mail locations must use the same
virtual mailbox hierarchy separator (specify separator for the
default namespace)
As you can see, it ends with "Error: Mail locations must use the same virtual mailbox hierarchy separator (specify separator for the default namespace)".
So, I tried specifying a hierarchy separator, but this failed too:
$ dsync -Dv
-o 'separator=.'
-o 'mail_location=maildir:/tmp/dsync_test/maildir'
backup
mbox:/tmp/dsync_test/mbox/:INBOX=/tmp/dsync_test/mbox/2002-September
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_lookup_dict_iterate_visible_next (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: Skipping module doveadm_quota_plugin, because dlopen()
failed:
/usr/lib/dovecot/modules/doveadm/lib10_doveadm_quota_plugin.so:
undefined symbol: quota_user_module (this is usually intentional, so
just ignore this message)
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(sampablokuper): Debug: Effective uid=1000, gid=1000,
home=/home/sampablokuper
doveadm(sampablokuper): Debug: Namespace inbox: type=private,
prefix=, sep=, inbox=yes, hidden=no, list=yes, subscriptions=yes
location=maildir:/tmp/dsync_test/maildir
doveadm(sampablokuper): Debug: maildir++:
root=/tmp/dsync_test/maildir, index=, indexpvt=, control=,
inbox=/tmp/dsync_test/maildir, alt=
doveadm(sampablokuper): Debug: Namespace : Using permissions from
/tmp/dsync_test/maildir: mode=0755 gid=default
dsync(sampablokuper): Debug: Effective uid=1000, gid=1000,
home=/home/sampablokuper
dsync(sampablokuper): Debug: Namespace inbox: type=private, prefix=,
sep=, inbox=yes, hidden=no, list=yes, subscriptions=yes
location=mbox:/tmp/dsync_test/mbox/:INBOX=/tmp/dsync_test/mbox/2002-September
dsync(sampablokuper): Debug: fs: root=/tmp/dsync_test/mbox, index=,
indexpvt=, control=, inbox=/tmp/dsync_test/mbox/2002-September, alt=
dsync(sampablokuper): Error: Mail locations must use the same
virtual mailbox hierarchy separator (specify separator for the
default namespace)
I got the same error again when I tried the command above with "/" instead of "." as the hierarchy separator.
Forgive me for my ignorance, but how should I correct the invocation I used above? In other words: using dsync, how can I extract/copy the emails from the mbox to the new Maildir?
Thank you!
-- A: When it messes up the order in which people normally read text. Q: When is top-posting a bad thing?
() ASCII ribbon campaign. Please avoid HTML emails & proprietary /\ file formats. (Why? See e.g. https://v.gd/jrmGbS ). Thank you.