<div dir="ltr"><div dir="ltr"><div>Hi,</div><div><br></div><div>I'm trying to migrate IMAP mails from dovecot 1.1.20apple0.5 (osx) to dovecot 2.2.33.2 (ubuntu). I'm using "doveadm backup" to migrate my data. It works fine for all subfolders, but the root INBOX stay empty on the new server. I suspect a problem related with hierarchy separator ("." on previous server, "/" on new) or with the namespace prefix (set to "INBOX/" on new server). Any hint?</div><div><br></div><div>Thanks.</div><div><br></div><div><br></div><div>show there is no messages in INBOX</div><div># doveadm mailbox status -u (myuser) all INBOX</div><div>INBOX messages=0 recent=0 uidnext=1 uidvalidity=1553630060 unseen=0 highestmodseq=1 vsize=0 guid=d54cd42849739b5cb5790000ed87e144 firstsaved=18446744073709551615</div><div><br></div><div>show there is messages in subdirectory</div><div># doveadm mailbox status -u (myuser) all INBOX/Sent</div><div>INBOX/Sent messages=253 recent=0 uidnext=8721 uidvalidity=1263328366 unseen=0 highestmodseq=256 vsize=16335358 guid=bfb2e03fdce327671e82bf173b1ccb8b firstsaved=1553634631</div><div><br></div><div>The command I'm runnning on the new server to migrate data:</div><div># doveadm -o mail_fsync=never backup -R -u (myuser) imapc:</div><div><br></div><div># My config on the new server:</div><div># doveadm -n</div><div># 2.2.33.2 (d6601f4ec): /etc/dovecot/dovecot.conf</div><div># Pigeonhole version 0.4.21 (92477967)</div><div># OS: Linux 4.15.0-46-generic x86_64 Ubuntu 18.04.2 LTS </div><div>auth_default_realm = <a href="http://example.com" target="_blank">example.com</a></div><div>doveadm_password =  # hidden, use -P to show it</div><div>doveadm_port = 53683</div><div>first_valid_uid = 200</div><div>imapc_features = rfc822.size fetch-headers</div><div>imapc_host = <a href="http://oldmail.example.com" target="_blank">oldmail.example.com</a></div><div>imapc_master_user = (removed)</div><div>imapc_password =  # hidden, use -P to show it</div><div>imapc_user = %n</div><div>last_valid_uid = 200</div><div>mail_location = mbox:~/mail:INBOX=/var/mail/%u</div><div>mail_plugins = " notify replication zlib quota"</div><div>mail_prefetch_count = 20</div><div>mail_privileged_group = mail</div><div>managesieve_notify_capability = mailto</div><div>managesieve_sieve_capability = fileinto reject envelope encoded-character vacation subaddress comparator-i;ascii-numeric relational regex imap4flags copy include variables body enotify environment mailbox date index ihave duplicate mime foreverypart extracttext</div><div>mdbox_rotate_size = 10 M</div><div>namespace inbox {</div><div>  inbox = yes</div><div>  location = </div><div>  mailbox "Éléments envoyés" {</div><div>    special_use = \Sent</div><div>  }</div><div>  mailbox "Éléments supprimés" {</div><div>    special_use = \Trash</div><div>  }</div><div>  mailbox Brouillon {</div><div>    special_use = \Drafts</div><div>  }</div><div>  mailbox "Courrier indésirable" {</div><div>    special_use = \Junk</div><div>  }</div><div>  mailbox Drafts {</div><div>    auto = subscribe</div><div>    special_use = \Drafts</div><div>  }</div><div>  mailbox Junk {</div><div>    auto = subscribe</div><div>    special_use = \Junk</div><div>  }</div><div>  mailbox Sent {</div><div>    auto = subscribe</div><div>    special_use = \Sent</div><div>  }</div><div>  mailbox "Sent Messages" {</div><div>    special_use = \Sent</div><div>  }</div><div>  mailbox Trash {</div><div>    auto = subscribe</div><div>    special_use = \Trash</div><div>  }</div><div>  prefix = INBOX/</div><div>  separator = /</div><div>}</div><div>passdb {</div><div>  args = /etc/dovecot/dovecot-ldap.conf.ext</div><div>  driver = ldap</div><div>}</div><div>plugin {</div><div>  mail_replica = tcps:<a href="http://mail2.example.com:53683" target="_blank">mail2.example.com:53683</a></div><div>  quota = count:User quota</div><div>  quota_grace = 10%%</div><div>  quota_rule = *:storage=10G</div><div>  quota_rule2 = INBOX/Trash:storage=+100M</div><div>  quota_vsizes = yes</div><div>  quota_warning = storage=100%% quota-warning 100 %u</div><div>  quota_warning2 = storage=95%% quota-warning 95 %u</div><div>  quota_warning3 = storage=90%% quota-warning 90 %u</div><div>  quota_warning4 = storage=85%% quota-warning 85 %u</div><div>  quota_warning5 = storage=75%% quota-warning 75 %u</div><div>  quota_warning6 = -storage=80%% quota-warning '-80' %u</div><div>  quota_warning7 = -storage=100%% quota-warning '-100' %u</div><div>  sieve = /var/vmail/domains/%Ld/%Ln/.dovecot.sieve</div><div>  sieve_before = /var/vmail/sieve/before.sieve</div><div>  sieve_default = /var/vmail/sieve/default.sieve</div><div>  sieve_global = /var/vmail/sieve/global</div><div>  zlib_save = lz4</div><div>}</div><div>protocols = " imap lmtp sieve"</div><div>service aggregator {</div><div>  fifo_listener replication-notify-fifo {</div><div>    user = vmail</div><div>  }</div><div>  unix_listener replication-notify {</div><div>    user = vmail</div><div>  }</div><div>}</div><div>service auth {</div><div>  inet_listener {</div><div>    address = (removed)</div><div>    port = 55123</div><div>  }</div><div>  unix_listener /var/spool/postfix/private/auth {</div><div>    mode = 0666</div><div>  }</div><div>}</div><div>service doveadm {</div><div>  inet_listener {</div><div>    port = 53683</div><div>    ssl = yes</div><div>  }</div><div>}</div><div>service imap-login {</div><div>  inet_listener imap {</div><div>    port = 0</div><div>  }</div><div>  process_min_avail = 10</div><div>}</div><div>service lmtp {</div><div>  unix_listener /var/spool/postfix/private/dovecot-lmtp {</div><div>    group = postfix</div><div>    mode = 0660</div><div>    user = postfix</div><div>  }</div><div>}</div><div>service quota-warning {</div><div>  executable = script /usr/local/bin/quota-warning.sh</div><div>  unix_listener quota-warning {</div><div>    user = vmail</div><div>  }</div><div>}</div><div>service replicator {</div><div>  process_min_avail = 1</div><div>  unix_listener replicator-doveadm {</div><div>    mode = 0600</div><div>    user = vmail</div><div>  }</div><div>}</div><div>ssl = required</div><div>ssl_cert = </etc/ssl/example/example.com.crtbundle</div><div>ssl_client_ca_dir = /etc/ssl/certs</div><div>ssl_key =  # hidden, use -P to show it</div><div>userdb {</div><div>  args = /etc/dovecot/dovecot-ldap.conf.ext</div><div>  driver = ldap</div><div>}</div><div>verbose_proctitle = yes</div><div>protocol lmtp {</div><div>  mail_plugins = " notify replication zlib quota sieve"</div><div>  postmaster_address = <a href="mailto:postmaster@example.com" target="_blank">postmaster@example.com</a></div><div>}</div><div>protocol imap {</div><div>  mail_plugins = " notify replication zlib quota imap_zlib imap_quota"</div><div>}</div><div><br></div><div># cat /etc/dovecot/dovecot-ldap.conf.ext | grep -v "^#" | grep -v "^$"</div><div>uris = ldaps://<a href="http://dc1.ad.example.com" target="_blank">dc1.ad.example.com</a> ldaps://<a href="http://dc2.ad.example.com" target="_blank">dc2.ad.example.com</a></div><div>dn = (removed)</div><div>dnpass = (removed)</div><div>auth_bind = yes</div><div>base = (removed)</div><div>scope = subtree</div><div>deref = never</div><div>user_filter = (&(mail=%u)(memberOf:1.2.840.113556.1.4.1941:=CN=acces_courriels,(removed))(&(|(objectclass=person))(!(UserAccountControl:1.2.840.113556.1.4.803:=2))))</div><div>pass_filter = (&(mail=%u)(memberOf:1.2.840.113556.1.4.1941:=CN=acces_courriels,(removed))(&(|(objectclass=person))(!(UserAccountControl:1.2.840.113556.1.4.803:=2))))</div><div>iterate_filter = (&(mail=*)(memberOf:1.2.840.113556.1.4.1941:=CN=acces_courriels,(removed))(&(|(objectclass=person))(!(UserAccountControl:1.2.840.113556.1.4.803:=2))))</div><div>iterate_attrs = mail=user</div><div>user_attrs = \</div><div>  =quota_rule=*:storage=%{ldap:division:10G}, \</div><div>  =home=/var/vmail/domains/%Ld/%Ln, \</div><div>  =mail=mdbox:/var/vmail/domains/%Ld/%Ln/mdbox, \</div><div>  =uid=200, \</div><div>  =gid=200</div><div><br></div></div></div>