Thanks for your response. The deeper folder structure is not in place on
the the near side, as it's being used as a migration destination - thus
the mailboxes start empty with nothing but a default cPanel
configuration.
Following is the output of "mbsync -Dn -l my-channel" with an empty
mailbox on the near side.
---------------------------------------------
$ mbsync -Dn -l my-channel
Reading configuration file /home/user/.mbsyncrc
Notice: Master/Slave are deprecated; use Far/Near instead.
Channel my-channel
Opening far side store my-remote...
Resolving mail.domain1.tld... ok
Connecting to mail.domain1.tld (1.1.1.1:993)...
Opening near side store my-local...
Resolving mail.domain2.tld... ok
Connecting to mail.domain2.tld (1.1.1.2:993)...
Connection is now encrypted
N: * OK [CAPABILITY IMAP4rev1 SASL-IR LOGIN-REFERRALS ID ENABLE IDLE
NAMESPACE LITERAL+ AUTH=PLAIN AUTH=LOGIN] Dovecot ready.
Logging in...
N: >>> 1 LOGIN <user> <pass>
N: 1 OK [CAPABILITY IMAP4rev1 SASL-IR LOGIN-REFERRALS ID ENABLE IDLE
SORT SORT=DISPLAY THREAD=REFERENCES THREAD=REFS THREAD=ORDEREDSUBJECT
MULTIAPPEND URL-PARTIAL CATENATE UNSELECT CHILDREN NAMESPACE UIDPLUS
LIST-EXTENDED I18NLEVEL=1 CONDSTORE QRESYNC ESEARCH ESORT SEARCHRES
WITHIN CONTEXT=SEARCH LIST-STATUS BINARY MOVE SNIPPET=FUZZY
PREVIEW=FUZZY PREVIEW STATUS=SIZE SAVEDATE NAMESPACE LITERAL+ NOTIFY
SPECIAL-USE COMPRESS=DEFLATE QUOTA] Logged in
N: >>> 2 COMPRESS DEFLATE
N: 2 OK Begin compression (0.001 + 0.000 secs).
N: >>> 3 NAMESPACE
N: * NAMESPACE (("INBOX." ".")) NIL NIL
N: 3 OK Namespace completed (0.001 + 0.000 secs).
N: >>> 4 LIST "" INBOX*
N: * LIST (\HasChildren) "." INBOX
N: * LIST (\HasNoChildren \Junk) "." INBOX.spam
N: * LIST (\HasNoChildren \Trash) "." INBOX.Trash
N: * LIST (\HasNoChildren \Sent) "." INBOX.Sent
N: * LIST (\HasNoChildren) "." INBOX.Junk
N: * LIST (\HasNoChildren \Drafts) "." INBOX.Drafts
N: * LIST (\HasNoChildren \Archive) "." INBOX.Archive
N: 4 OK List completed (0.002 + 0.000 + 0.001 secs).
Connection is now encrypted
F: * OK [CAPABILITY IMAP4rev1 SASL-IR LOGIN-REFERRALS ID ENABLE IDLE
LITERAL+ AUTH=PLAIN] Dovecot (Debian) ready.
Logging in...
F: >>> 1 LOGIN <user> <pass>
F: 1 OK [CAPABILITY IMAP4rev1 SASL-IR LOGIN-REFERRALS ID ENABLE IDLE
SORT SORT=DISPLAY THREAD=REFERENCES THREAD=REFS THREAD=ORDEREDSUBJECT
MULTIAPPEND URL-PARTIAL CATENATE UNSELECT CHILDREN NAMESPACE UIDPLUS
LIST-EXTENDED I18NLEVEL=1 CONDSTORE QRESYNC ESEARCH ESORT SEARCHRES
WITHIN CONTEXT=SEARCH LIST-STATUS BINARY MOVE SNIPPET=FUZZY LITERAL+
NOTIFY SPECIAL-USE] Logged in
F: >>> 2 NAMESPACE
F: * NAMESPACE (("" ".")) NIL NIL
F: 2 OK Namespace completed (0.001 + 0.000 secs).
F: >>> 3 LIST "" "*"
F: * LIST (\HasNoChildren \UnMarked) "." Archive
F: * LIST (\HasNoChildren \UnMarked \Sent) "." Sent
F: * LIST (\HasNoChildren \UnMarked) "." "Deleted Items"
F: * LIST (\HasNoChildren \UnMarked) "." "Junk E-mail"
F: * LIST (\HasNoChildren \Drafts) "." Drafts
F: * LIST (\HasNoChildren \UnMarked \Trash) "." Trash
F: * LIST (\HasNoChildren \UnMarked) "." INBOX.gronk
F: * LIST (\HasNoChildren \UnMarked) "." INBOX.Bills
F: * LIST (\HasNoChildren \UnMarked) "." INBOX.Pet
F: * LIST (\HasNoChildren \UnMarked) "." "INBOX.Computer Shops"
F: * LIST (\HasNoChildren \UnMarked) "." INBOX.Rebel
F: * LIST (\HasNoChildren \UnMarked) "." "INBOX.Aussie Broadband Bills"
F: * LIST (\HasNoChildren \UnMarked) "." INBOX.Travel
F: * LIST (\HasNoChildren \UnMarked) "." "INBOX.Food Orders"
F: * LIST (\HasChildren) "." INBOX
F: 3 OK List completed (0.001 + 0.000 secs).
INBOX
INBOX/Aussie Broadband Bills
INBOX/Bills
INBOX/Computer Shops
INBOX/Food Orders
INBOX/Pet
INBOX/Rebel
INBOX/Travel
INBOX/gronk
Archive
Deleted Items
Drafts
Junk
Junk E-mail
Sent
Trash
spam
N: >>> 5 LOGOUT
F: >>> 4 LOGOUT
N: * BYE Logging out
N: 5 OK Logout completed (0.001 + 0.000 secs).
F: * BYE Logging out
F: 4 OK Logout completed (0.001 + 0.000 secs).
---------------------------------------------
After completion of a sync (mbsync my-channel), the output of "mbsync
-Dn -l my-channel" now looks like:
---------------------------------------------
Reading configuration file /home/user/.mbsyncrc
Notice: Master/Slave are deprecated; use Far/Near instead.
Channel my-channel
Opening far side store my-remote...
Resolving mail.domain1.tld... ok
Connecting to mail.domain1.tld (1.1.1.1:993)...
Opening near side store my-local...
Resolving mail.domain2.tld... ok
Connecting to mail.domain2.tld (1.1.1.2:993)...
Connection is now encrypted
N: * OK [CAPABILITY IMAP4rev1 SASL-IR LOGIN-REFERRALS ID ENABLE IDLE
NAMESPACE LITERAL+ AUTH=PLAIN AUTH=LOGIN] Dovecot ready.
Logging in...
N: >>> 1 LOGIN <user> <pass>
N: 1 OK [CAPABILITY IMAP4rev1 SASL-IR LOGIN-REFERRALS ID ENABLE IDLE
SORT SORT=DISPLAY THREAD=REFERENCES THREAD=REFS THREAD=ORDEREDSUBJECT
MULTIAPPEND URL-PARTIAL CATENATE UNSELECT CHILDREN NAMESPACE UIDPLUS
LIST-EXTENDED I18NLEVEL=1 CONDSTORE QRESYNC ESEARCH ESORT SEARCHRES
WITHIN CONTEXT=SEARCH LIST-STATUS BINARY MOVE SNIPPET=FUZZY
PREVIEW=FUZZY PREVIEW STATUS=SIZE SAVEDATE NAMESPACE LITERAL+ NOTIFY
SPECIAL-USE COMPRESS=DEFLATE QUOTA] Logged in
N: >>> 2 COMPRESS DEFLATE
N: 2 OK Begin compression (0.001 + 0.000 secs).
N: >>> 3 NAMESPACE
N: * NAMESPACE (("INBOX." ".")) NIL NIL
N: 3 OK Namespace completed (0.001 + 0.000 secs).
N: >>> 4 LIST "" INBOX*
N: * LIST (\HasChildren) "." INBOX
N: * LIST (\HasNoChildren \UnMarked) "." "INBOX.Junk E-mail"
N: * LIST (\HasNoChildren \UnMarked) "." "INBOX.Deleted Items"
N: * LIST (\HasNoChildren \UnMarked \Archive) "." INBOX.Archive
N: * LIST (\HasNoChildren \UnMarked) "." INBOX.gronk
N: * LIST (\HasNoChildren \UnMarked) "." INBOX.Travel
N: * LIST (\HasNoChildren \UnMarked) "." INBOX.Rebel
N: * LIST (\HasNoChildren \UnMarked) "." INBOX.Pet
N: * LIST (\HasNoChildren \UnMarked) "." "INBOX.Food Orders"
N: * LIST (\HasNoChildren \UnMarked) "." "INBOX.Computer Shops"
N: * LIST (\HasNoChildren \UnMarked) "." INBOX.Bills
N: * LIST (\HasNoChildren \UnMarked) "." "INBOX.Aussie Broadband Bills"
N: * LIST (\HasNoChildren \UnMarked \Junk) "." INBOX.spam
N: * LIST (\HasNoChildren \UnMarked \Trash) "." INBOX.Trash
N: * LIST (\HasNoChildren \UnMarked \Sent) "." INBOX.Sent
N: * LIST (\HasNoChildren \UnMarked) "." INBOX.Junk
N: * LIST (\HasNoChildren \UnMarked \Drafts) "." INBOX.Drafts
N: 4 OK List completed (0.008 + 0.000 + 0.007 secs).
Connection is now encrypted
F: * OK [CAPABILITY IMAP4rev1 SASL-IR LOGIN-REFERRALS ID ENABLE IDLE
LITERAL+ AUTH=PLAIN] Dovecot (Debian) ready.
Logging in...
F: >>> 1 LOGIN <user> <pass>
F: 1 OK [CAPABILITY IMAP4rev1 SASL-IR LOGIN-REFERRALS ID ENABLE IDLE
SORT SORT=DISPLAY THREAD=REFERENCES THREAD=REFS THREAD=ORDEREDSUBJECT
MULTIAPPEND URL-PARTIAL CATENATE UNSELECT CHILDREN NAMESPACE UIDPLUS
LIST-EXTENDED I18NLEVEL=1 CONDSTORE QRESYNC ESEARCH ESORT SEARCHRES
WITHIN CONTEXT=SEARCH LIST-STATUS BINARY MOVE SNIPPET=FUZZY LITERAL+
NOTIFY SPECIAL-USE] Logged in
F: >>> 2 NAMESPACE
F: * NAMESPACE (("" ".")) NIL NIL
F: 2 OK Namespace completed (0.001 + 0.000 secs).
F: >>> 3 LIST "" "*"
F: * LIST (\HasNoChildren \UnMarked) "." Archive
F: * LIST (\HasNoChildren \UnMarked \Sent) "." Sent
F: * LIST (\HasNoChildren \UnMarked) "." "Deleted Items"
F: * LIST (\HasNoChildren \UnMarked) "." "Junk E-mail"
F: * LIST (\HasNoChildren \Drafts) "." Drafts
F: * LIST (\HasNoChildren \UnMarked \Trash) "." Trash
F: * LIST (\HasNoChildren \UnMarked) "." INBOX.gronk
F: * LIST (\HasNoChildren \UnMarked) "." INBOX.Bills
F: * LIST (\HasNoChildren \UnMarked) "." INBOX.Pet
F: * LIST (\HasNoChildren \UnMarked) "." "INBOX.Computer Shops"
F: * LIST (\HasNoChildren \UnMarked) "." INBOX.Rebel
F: * LIST (\HasNoChildren \UnMarked) "." "INBOX.Aussie Broadband Bills"
F: * LIST (\HasNoChildren \UnMarked) "." INBOX.Travel
F: * LIST (\HasNoChildren \UnMarked) "." "INBOX.Food Orders"
F: * LIST (\HasChildren) "." INBOX
F: 3 OK List completed (0.002 + 0.000 + 0.001 secs).
INBOX
INBOX/Aussie Broadband Bills
INBOX/Bills
INBOX/Computer Shops
INBOX/Food Orders
INBOX/Pet
INBOX/Rebel
INBOX/Travel
INBOX/gronk
Archive
Aussie Broadband Bills
Bills
Computer Shops
Deleted Items
Drafts
Food Orders
Junk
Junk E-mail
Pet
Rebel
Sent
Trash
Travel
gronk
spam
N: >>> 5 LOGOUT
F: >>> 4 LOGOUT
N: * BYE Logging out
N: 5 OK Logout completed (0.001 + 0.000 secs).
F: * BYE Logging out
F: 4 OK Logout completed (0.001 + 0.000 secs)
---------------------------------------------
Here, it looks like things are _generally_ correct, in that subfolders
of the INBOX remain subfolders, however examining the Maildirs at each
end yields a different story:
---------------------------------------------
[ user@source ~ ]$ ls -ac1 Maildir
$ ls -ac1 Maildir/
dovecot.list.index.log
.Drafts
.
..
.Trash
.Sent
'.Deleted Items'
.INBOX.Travel
.INBOX.Rebel
.INBOX.Pet
'.INBOX.Food Orders'
'.INBOX.Computer Shops'
.INBOX.Bills
'.INBOX.Aussie Broadband Bills'
dovecot.list.index
dovecot.index.log
cur
new
dovecot-uidlist
dovecot.index.cache
tmp
.INBOX.gronk
dovecot.index
dovecot-uidvalidity
dovecot-uidvalidity.5b49fba7
dovecot.index.log.2
'.Junk E-mail'
dovecot-keywords
.Archive
subscriptions
dovecot.mailbox.log
---------------------------------------------
[ user@dest ~ ]$ ls -ac1 Maildir
.
dovecot.list.index
dovecot-quota
dovecot.list.index.log
.spam
.Trash
.Sent
dovecot.list.index.log.2
.Junk E-mail
dovecot-uidvalidity
dovecot-uidvalidity.629efc02
.Junk
.Drafts
.Deleted Items
.Archive
.gronk
.Travel
.Rebel
.Pet
.Food Orders
.Computer Shops
.Bills
.Aussie Broadband Bills
dovecot.index.cache
dovecot.index.log
dovecot-uidlist
cur
tmp
dovecot.index
dovecot.index.log.2
dovecot-keywords
dovecot-acl-list
dovecot.mailbox.log
subscriptions
new
..
---------------------------------------------
I don't quite see why the Maildir is not reflecting the same subfolder
structure.
This also breaks webmail views, as the subfolders (such as "Bills") are
not initially displayed (requiring manual subscription) and when they
are displayed, they are no longer subfolders of the INBOX, but top level
folders.
Additionally, I was able to achieve the desired structure with either
imapsync performing `IMAP -> IMAP` or offlineimap performing `IMAP ->
Maildir`, although at *vastly* slower speeds (Lower than we can feasably
use).
On 2022-06-07 17:17, Oswald Buddenhagen wrote:
On Mon, Jun 06, 2022 at 09:48:13PM +1000, Hayden Katz via isync-devel
wrote:
I have an issue where using mbsync to sync IMAP -> IMAP between two
servers (from a third server) seems to be flattening the hierarchy
without being told to.
that seems somewhat unlikely. are the servers of the same type and
have the same folder configuration?
run
mbsync -Dn -l my-channel
to see what folders actually exist as far as imap is concerned.
(or browse them interactively, e.g. with thunderbird.)
_______________________________________________
isync-devel mailing list
isync-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/isync-devel