Solution, in my case, was to add
separator = /
to the inbox namespace as well. For some reason it didn't defaulted to whatever the mailbox format's internal separator was.
-- Adam
From: dovecot dovecot-bounces@dovecot.org on behalf of Adam Raszkiewicz via dovecot dovecot@dovecot.org Reply-To: Adam Raszkiewicz araszkiewicz@medallies.com Date: Wednesday, October 2, 2019 at 5:05 PM To: Asai via dovecot dovecot@dovecot.org Subject: Re: Problem with converting mdbox to MailDir
And /bin/doveconf namespace
namespace { disabled = no hidden = no ignore_on_failure = no inbox = no list = children location = mdbox:/var/mailboxes/%%2Mu/%%2.2Mu/%%u order = 0 prefix = shared/%%u/ separator = / subscriptions = yes type = shared } namespace inbox { disabled = no hidden = no ignore_on_failure = no inbox = yes list = yes location = mailbox Drafts { auto = subscribe driver = special_use = \Drafts } mailbox INBOX { auto = subscribe driver = special_use = } mailbox Junk { auto = no driver = special_use = \Junk } mailbox Sent { auto = subscribe driver = special_use = \Sent } mailbox "Sent Messages" { auto = no driver = special_use = \Sent } mailbox Trash { auto = subscribe driver = special_use = \Trash } order = 0 prefix = separator = subscriptions = yes type = private }
-- Adam Raszkiewicz Front End Web Developer MedAllies, Inc. 300 Westage Business Center Drive, Suite 320 Fishkill, NY 12524 Office: 845.896.0191 Fax: 845.896.9306 www.medallies.comhttp://www.medallies.com [Twitter-Bird]https://twitter.com/medalliesFollow us on Twitter @MedAllieshttps://twitter.com/medallies
From: dovecot dovecot-bounces@dovecot.org on behalf of Adam Raszkiewicz via dovecot dovecot@dovecot.org Reply-To: Adam Raszkiewicz araszkiewicz@medallies.com Date: Wednesday, October 2, 2019 at 4:50 PM To: Asai via dovecot dovecot@dovecot.org Subject: Problem with converting mdbox to MailDir
I have a problem to convert mdbox to MailDir. Log from that process looks like:
/bin/dsync -Dv -u user@domian.com mirror maildir:/tmp/destination/mailboxes/user@domian.com
Debug: Loading modules from directory: /lib/dovecot Debug: Module loaded: /lib/dovecot/lib01_acl_plugin.so Debug: Loading modules from directory: /lib/dovecot/doveadm Debug: Module loaded: /lib/dovecot/doveadm/lib10_doveadm_acl_plugin.so Debug: Skipping module doveadm_expire_plugin, because dlopen() failed: /lib/dovecot/doveadm/lib10_doveadm_expire_plugin.so: undefined symbol: expire_set_lookup (this is usually intentional, so just ignore this message) Debug: Skipping module doveadm_quota_plugin, because dlopen() failed: /lib/dovecot/doveadm/lib10_doveadm_quota_plugin.so: undefined symbol: quota_user_module (this is usually intentional, so just ignore this message) Debug: Module loaded: /lib/dovecot/doveadm/lib10_doveadm_sieve_plugin.so Debug: Skipping module doveadm_fts_plugin, because dlopen() failed: /lib/dovecot/doveadm/lib20_doveadm_fts_plugin.so: undefined symbol: fts_list_backend (this is usually intentional, so just ignore this message) doveadm(user@domian.com): Debug: Effective uid=503, gid=503, home=/var/mailboxes/%2Mu/%2.2Mu/%u doveadm(user@domian.com): Debug: Home dir not found: /var/mailboxes/%2Mu/%2.2Mu/%u doveadm(user@domian.com): Debug: Namespace inbox: type=private, prefix=, sep=, inbox=yes, hidden=no, list=yes, subscriptions=yes location=mdbox:/var/mailboxes/64/b1/user@domian.com doveadm(user@domian.com): Debug: fs: root=/var/mailboxes/64/b1/user@domian.com, index=, indexpvt=, control=, inbox=, alt= doveadm(user@domian.com): Debug: acl: initializing backend with data: vfile doveadm(user@domian.com): Debug: acl: acl username = user@domian.com doveadm(user@domian.com): Debug: acl: owner = 1 doveadm(user@domian.com): Debug: acl vfile: Global ACLs disabled doveadm(user@domian.com): Debug: Namespace : type=shared, prefix=shared/%u/, sep=/, inbox=no, hidden=no, list=children, subscriptions=yes location=mdbox:/var/mailboxes/%2Mu/%2.2Mu/%u doveadm(user@domian.com): Debug: shared: root=/var/run/dovecot, index=, indexpvt=, control=, inbox=, alt= doveadm(user@domian.com): Debug: acl: initializing backend with data: vfile doveadm(user@domian.com): Debug: acl: acl username = user@domian.com doveadm(user@domian.com): Debug: acl: owner = 0 doveadm(user@domian.com): Debug: acl vfile: Global ACLs disabled doveadm(user@domian.com): Debug: acl vfile: file /var/mailboxes/64/b1/user@domian.com/mailboxes/INBOX/dbox-Mails/dovecot-acl not found doveadm(user@domian.com): Debug: acl vfile: file /var/mailboxes/64/b1/user@domian.com/mailboxes/Drafts/dbox-Mails/dovecot-acl not found doveadm(user@domian.com): Debug: acl vfile: file /var/mailboxes/64/b1/user@domian.com/mailboxes/Sent/dbox-Mails/dovecot-acl not found doveadm(user@domian.com): Debug: acl vfile: file /var/mailboxes/64/b1/user@domian.com/mailboxes/Trash/dbox-Mails/dovecot-acl not found doveadm(user@domian.com): Debug: Namespace : Using permissions from /var/mailboxes/64/b1/user@domian.com: mode=0700 gid=default dsync(user@domian.com): Debug: Effective uid=503, gid=503, home=/var/mailboxes/%2Mu/%2.2Mu/%u dsync(user@domian.com): Debug: Home dir not found: /var/mailboxes/%2Mu/%2.2Mu/%u dsync(user@domian.com): Debug: Namespace inbox: type=private, prefix=, sep=, inbox=yes, hidden=no, list=yes, subscriptions=yes location=maildir:/tmp/destination/mailboxes/user@domian.com dsync(user@domian.com): Debug: maildir++: root=/tmp/destination/mailboxes/user@domian.com, index=, indexpvt=, control=, inbox=/tmp/destination/mailboxes/user@domian.com, alt= dsync(user@domian.com): Debug: Namespace : /tmp/destination/mailboxes/user@domian.com doesn't exist yet, using default permissions dsync(user@domian.com): Debug: Namespace : Using permissions from /tmp/destination/mailboxes/user@domian.com: mode=0700 gid=default dsync(user@domian.com): Debug: acl: initializing backend with data: vfile dsync(user@domian.com): Debug: acl: acl username = user@domian.com dsync(user@domian.com): Debug: acl: owner = 1 dsync(user@domian.com): Debug: acl vfile: Global ACLs disabled dsync(user@domian.com): Debug: Namespace : type=shared, prefix=shared/%u/, sep=/, inbox=no, hidden=no, list=children, subscriptions=yes location=mdbox:/var/mailboxes/%2Mu/%2.2Mu/%u dsync(user@domian.com): Debug: shared: root=/var/run/dovecot, index=, indexpvt=, control=, inbox=, alt= dsync(user@domian.com): Debug: acl: initializing backend with data: vfile dsync(user@domian.com): Debug: acl: acl username = user@domian.com dsync(user@domian.com): Debug: acl: owner = 0 dsync(user@domian.com): Debug: acl vfile: Global ACLs disabled dsync(user@domian.com): Error: User initialization failed: namespace configuration error: All list=yes namespaces must use the same separator
but when I will specify namespace to the inbox like
/bin/dsync -Dv -u user@domian.com mirror maildir:/tmp/destination/mailboxes/user@domian.com -n inbox
it throws different error:
doveadm(user@domian.com): Debug: Namespace : Using permissions from /var/mailboxes/64/b1/user@domian.com: mode=0700 gid=default doveadm(user@domian.com): Fatal: execvp(maildir:/tmp/destination/mailboxes/user@domian.com) failed: No such file or directory dsync-local(user@domian.com): Error: read(remote) failed: EOF (version not received
when /tmp/destination/mailboxes/user@domian.com directory exists
What I’m doing wrong in the process?
-- Adam