How To Use Imapsync To Migrate Zimbra To Carbonio | Carbonio CE

Can you tell me what is the most wearisome task that any system administrator faces at least once in a career life time? It is undoubtedly the migration activity.

It takes time to get used to with any system. Therefore, if the yearlong system needs to be changed then it is not only a nightmare for system admins but also for the regular users. On one hand system admins are worried about finding a compatible system, on the other hand end users are worried about their data and tools they used to use pretty much regularly.

When both parties (Sys Admins & Users) met the match, then comes the most challenging & the tricky part known as “Migration“.

“System admins and users are reluctant for any migration considering above mentioned scene even though they need to upgrade their system. Fear of uncertainty, lack of full proof plan, proper technical guidance, what if they need to roll back are the few critical questions that stop them to take the bold step. This article is all about facing these facts”.

Therefore, I thought let’s get some confidence first in our mind as well as in our heart before jumping into the technical parts. 🙂

The Journey That Led Us Here

Zimbra Open Source Edition is going to be EOL on 31 December 2023. So for the users of Zimbra OSE, the migration is pretty much inevitable. Carbonio Community edition, is the most feature rich Open Source alternative that the Open Source Community has right now. It has a rich and growing document hub. A vibrant blog & forum. I hope these helps to get rid of the fear of uncertainty.

In this article, we are going to provide you a slightly different plan and approach which will ultimately help you to get past the lack of plan and lack of technical guidance. Eventually you will understand what to do if the migration is not going according to your plan (The rollback plan).

So without wasting any more of your time lets get into the details.

Steps of An Effortless Migration

Our migration plan is described into three segments/phases.

  • Phase-1 Provisioning (Migrate user accounts to destination server with all of their ldap properties; Except Email Data; Check ldap properties on destination server; Compare destination server user accounts with source server 🙂
  • Phase-2 Service Migration (Activate Destination server; Check email transactions )
  • Phase-3 Data Migration (Use Imapsync to migrate email data)

Few things to keep in your mind before starting the phases.

  • If you are going to use different IP_Address to set up your destination server, make sure you remember to modify DNS records accordingly. Also make sure to replace your old IP_Address with the New IP_Address in all of your relevant appliances (i.e. firewall, Email Gateway etc.) Don’t worry, we are going to discuss these issues in Phase-2

Important note:
During the installation of new Carbonio CE server, use carbonio.local as a default domain hence the structure of hostname will be mail.carbonio.local and /etc/hosts will be:
ip_address mail.carbonio.local mail
This is the key requirement of this migration method.

Traditionally, hostname & hosts are configured using the actual domain, but to perform this migration you need to set them as mentioned above but don’t worry it will not affect your server/services(email transaction) in any way.

Few things you should keep in mind before the migration process:
1. Set the socket timeout high in source & destination server. i.e.

zmlocalconfig -e socket_so_timeout=3000000
zmlocalconfig –reload
2. Check if you have any attachment limits. If you have increase the value during the migration period.

A Scenario to Relate & Understand

Let’s assume you have a Zimbra OSE based email server.

Zimbra to Carbonio Migration

Where you have hosted/configured four domains.

  • sampleserver.xyz
  • oldserver.xyz
  • sampleservers.xyz
  • zextras.xyz

Out of this four domains, sampleserver.xyz is your default domain. Therefore, your server’s basic configurations are based on the domain sampleserver.xyz. like:

/etc/hostname
mail.sampleserver.xyz

/etc/hosts
IP_Address   mail.sampleserver.xyz   mail

Along with these four domains you have these items configured in your Zimbra Server.

List of Items:

  • User accounts
    • sampleserver.xyz: 50
    • oldserver.xyz: 15
    • sampleservers.xyz: 10
    • zextras.xyz: 20
  • Distribution Lists
    • No Distribution Lists: 15
    • 7 For domain sampleserver.xyz
      • devs (5 members)
      • hr (5 members)
      • ihd (5 members)
      • managers (4 members)
      • marketing (5 members)
      • sales (4 members)
      • ux (5 members)
    • 3 For domain oldserver.xyz
      • asset (4 members)
      • transport (3 members)
      • utility (6 members)
    • 2 For domain sampleservers.xyz
      • finance (4 members)
      • it (6 members)
    • 3 For domain zextras.xyz
      • branch1 (4 members)
      • branch2 (5 members)
      • branch3 (7 members)
  • Class of Service (COS)
    • 2 default COS (default, defaultExternal)
    • 4 Custom COS (cos_oldserver, cos_sampleserver, cos_sampleservers, cos_zextras)
  • Members of all COSes
    • default : 83
    • defaultExternal : 0
    • cos_oldserver : 3
    • cos_sampleserver : 3
    • cos_zextras : 3
    • cos_sampleservers : 3
  • Personal Folders for different users of different domains
    • Domain : sampleserver.xyz (Team, Stakeholder, Gmail, Yahoo)
    • Domain : sampleservers.xyz (Finance, Project)
    • Domain : oldserver.xyz (Italy, India, France, USA)
    • Domain : zextras.xyz (Devs, UI-UX, Communication)
  • Emails of all users
  • Contacts items of all users
  • Calendar items of all users
  • Forwarding in different user accounts
    • There are two kind of forwarding can be found in user accounts.
      • zimbraPrefMailForwardingAddress (Is set by the user)
      • zimbraMailForwardingAddress (Is hidden from user)
  • Out Office Reply (OOO) is set in different user accounts
  • Signatures – Each user can have one or more signatures.
  • Filter – Different users has configured different filters in their accounts
  • Custom mailbox quota – Some users have custom mailbox quota
  • Account Status – Few user accounts are in locked, maintenance and closed mode.
  • Trusted Addresses – All users have set their own trusted addresses.

So from the list you can estimate how diversely configured your email system can be. But don’t worry this migration method covers all of these items.

So let’s begin.

Phase-1 (Provisioning)

On Source Zimbra Server

Some commonly used provisioning techniques involve:
1. Mailbox export/import method
2. Imapsync method

Note: Both of these methods need significant amount of time, effort and manual intervention

With this method, provisioning will be smarter, smoother, and easier than ever before through the use of LDAP.

We are going to use slapcat & slapadd (An Openldap Server packages/tools) in this provisioning. Before, jumping into the command reference, let’s give a short intro of slapcat & slapadd.

slapcat – Used to generate an LDAP Directory Interchange Format (LDIF) output based upon the contents of a slapd database. Basically, it pulls entries from an LDAP directory in the default format and saves them in an LDIF file. For example, the command /usr/sbin/slapcat -l ldif-output outputs an LDIF file called ldif-output.ldif containing the entries from the LDAP directory.

The LDIF generated by this tool is suitable to use with slapadd.

slapadd – Used to add entries specified in LDAP Directory Interchange Format (LDIF) to a slapd database. slapadd is designed to accept LDIF in database order, as produced by slapcat.

Check out this reference link, if you are interested to know more interesting use of ldap.

  • Export coses from the source server (Zimbra)
root@mail:/opt/zimbra/backup# /opt/zimbra/common/sbin/slapcat -F /opt/zimbra/data/ldap/config -b "" -s "cn=cos,cn=zimbra" -H 'ldap:///???(&(objectClass=zimbraCos)(!(cn=default))(!(cn=defaultExternal)))' -l /opt/zimbra/backup/coses.ldif

Note: It does not export default & defaultExternal coses.

  • Export domains from the source server (Zimbra)
root@mail:/opt/zimbra/backup# /opt/zimbra/common/sbin/slapcat -F /opt/zimbra/data/ldap/config -b "" -H 'ldap:///???(&(!(entryDN:dnSubTreeMatch:=cn=zimbra)))' > /opt/zimbra/backup/provisioning.ldif
  • Export Calendar and Contacts from each user account. As imapsync can not transfer contacts and Calendar, we need to export them manually and then import them in the destination server.

You can use zmmailbox command to export them.

### For Calendar
zmmailbox -z -m $i getRestURL "/Calendar?fmt=ics" > /opt/zimbra/backup/$i.ics

### For Contacts
zmmailbox -z -m $i getRestURL "/Contacts?fmt=csv" > /opt/zimbra/backup/$i.csv

Or you can use/create a custom script to make the process more easy and convenient.

#!/bin/bash
# User Account Contacts & Calendar exporting Script

echo -en '\n'
echo -e "Starting Downloading Calendar & Contacts for all users"

echo -en '\n'
sleep 1

echo "Starting downloading Calendar & Contacts of all accounts of oldserver.xyz"
echo -en '\n'

for i in $(zmprov -l gaa oldserver.xyz);do zmmailbox -z -m $i getRestURL "/Calendar?fmt=ics" > /opt/zimbra/backup/$i.ics; echo -e "Finished downloading Calendar of $i" ; done
echo -en '\n'
sleep 1

for i in $(zmprov -l gaa oldserver.xyz);do zmmailbox -z -m $i getRestURL "/Contacts?fmt=csv" > /opt/zimbra/backup/$i.csv; echo -e "Finished downloading Contacts of $i";done
echo -en '\n'

echo "Finished downloading Calendar & Contacts of all accounts of oldserver.xyz"
echo -en '\n'

sleep 1

echo "Starting downloading Calendar & Contacts of all accounts of sampleserver.xyz"
echo -en '\n'
for i in $(zmprov -l gaa sampleserver.xyz);do zmmailbox -z -m $i getRestURL "/Calendar?fmt=ics" > /opt/zimbra/backup/$i.ics; echo -e "Finished downloading Calendar of $i" ; done
echo -en '\n'
sleep 1

for i in $(zmprov -l gaa sampleserver.xyz);do zmmailbox -z -m $i getRestURL "/Contacts?fmt=csv" > /opt/zimbra/backup/$i.csv; echo -e "Finished downloading Contacts of $i"; done
echo -en '\n'

echo "Finished downloading Calendar & Contacts of all accounts of sampleserver.xyz"
echo -en '\n'

sleep 1

echo "Starting downloading Calendar & Contacts of all accounts of sampleservers.xyz"
echo -en '\n'

for i in $(zmprov -l gaa sampleservers.xyz);do zmmailbox -z -m $i getRestURL "/Calendar?fmt=ics" > /opt/zimbra/backup/$i.ics; echo -e "Finished downloading Calendar of $i" ; done
echo -en '\n'
sleep 1

for i in $(zmprov -l gaa sampleservers.xyz);do zmmailbox -z -m $i getRestURL "/Contacts?fmt=csv" > /opt/zimbra/backup/$i.csv; echo -e "Finished downloading Contacts of $i"; done
echo -en '\n'

echo "Finished downloading Calendar & Contacts of all accounts of sampleservers.xyz"
echo -en '\n'

echo "Starting downloading Calendar & Contacts of all accounts of zextras.xyz"
echo -en '\n'

for i in $(zmprov -l gaa zextras.xyz);do zmmailbox -z -m $i getRestURL "/Calendar?fmt=ics" > /opt/zimbra/backup/$i.ics; echo -e "Finished downloading Calendar of $i" ; done
echo -en '\n'
sleep 1

for i in $(zmprov -l gaa zextras.xyz);do zmmailbox -z -m $i getRestURL "/Contacts?fmt=csv" > /opt/zimbra/backup/$i.csv; echo -e "Finished downloading Contacts of $i"; done
echo -en '\n'

echo "Finished downloading Calendar & Contacts of all accounts of zextras.xyz"
echo -en '\n'

sleep 1
  • Transfer all the items to the destination server (Carbonio CE)
zimbra@mail:~/backup$ rsync -avp coses.ldif provisioning.ldif *.ics *.csv root@Carbonio_Server_IP:/opt/zextras/backup/
root@Carbonio_Server_IP's password:
sending incremental file list
admin@sampleserver.xyz.csv
admin@sampleserver.xyz.ics
coses.ldif
example.user10@oldserver.xyz.csv
example.user10@oldserver.xyz.ics
example.user11@oldserver.xyz.csv
example.user11@oldserver.xyz.ics
example.user12@oldserver.xyz.csv
example.user12@oldserver.xyz.ics
example.user13@oldserver.xyz.csv
example.user13@oldserver.xyz.ics
example.user14@oldserver.xyz.csv
example.user14@oldserver.xyz.ics
example.user15@oldserver.xyz.csv
example.user15@oldserver.xyz.ics
example.user1@oldserver.xyz.csv
example.user1@oldserver.xyz.ics
example.user2@oldserver.xyz.csv
example.user2@oldserver.xyz.ics
example.user3@oldserver.xyz.csv
example.user3@oldserver.xyz.ics
example.user4@oldserver.xyz.csv
example.user4@oldserver.xyz.ics
example.user5@oldserver.xyz.csv
example.user5@oldserver.xyz.ics
example.user6@oldserver.xyz.csv
example.user6@oldserver.xyz.ics
example.user7@oldserver.xyz.csv
example.user7@oldserver.xyz.ics
example.user8@oldserver.xyz.csv
example.user8@oldserver.xyz.ics
example.user9@oldserver.xyz.csv
example.user9@oldserver.xyz.ics
galsync.xzvkiamnt@sampleserver.xyz.csv
galsync.xzvkiamnt@sampleserver.xyz.ics
galsync@oldserver.xyz.csv
galsync@oldserver.xyz.ics
galsync@sampleservers.xyz.csv
galsync@sampleservers.xyz.ics
galsync@zextras.xyz.csv
galsync@zextras.xyz.ics
ham.qu4wp9v0n@sampleserver.xyz.csv
ham.qu4wp9v0n@sampleserver.xyz.ics
original.user10@zextras.xyz.csv
original.user10@zextras.xyz.ics
original.user11@zextras.xyz.csv
original.user11@zextras.xyz.ics
original.user12@zextras.xyz.csv
original.user12@zextras.xyz.ics
original.user13@zextras.xyz.csv
original.user13@zextras.xyz.ics
original.user14@zextras.xyz.csv
original.user14@zextras.xyz.ics
original.user15@zextras.xyz.csv
original.user15@zextras.xyz.ics
original.user16@zextras.xyz.csv
original.user16@zextras.xyz.ics
original.user17@zextras.xyz.csv
original.user17@zextras.xyz.ics
original.user18@zextras.xyz.csv
original.user18@zextras.xyz.ics
original.user19@zextras.xyz.csv
original.user19@zextras.xyz.ics
original.user1@zextras.xyz.csv
original.user1@zextras.xyz.ics
original.user20@zextras.xyz.csv
original.user20@zextras.xyz.ics
original.user2@zextras.xyz.csv
original.user2@zextras.xyz.ics
original.user3@zextras.xyz.csv
original.user3@zextras.xyz.ics
original.user4@zextras.xyz.csv
original.user4@zextras.xyz.ics
original.user5@zextras.xyz.csv
original.user5@zextras.xyz.ics
original.user6@zextras.xyz.csv
original.user6@zextras.xyz.ics
original.user7@zextras.xyz.csv
original.user7@zextras.xyz.ics
original.user8@zextras.xyz.csv
original.user8@zextras.xyz.ics
original.user9@zextras.xyz.csv
original.user9@zextras.xyz.ics
pref.user10@sampleservers.xyz.csv
pref.user10@sampleservers.xyz.ics
pref.user1@sampleservers.xyz.csv
pref.user1@sampleservers.xyz.ics
pref.user2@sampleservers.xyz.csv
pref.user2@sampleservers.xyz.ics
pref.user3@sampleservers.xyz.csv
pref.user3@sampleservers.xyz.ics
pref.user4@sampleservers.xyz.csv
pref.user4@sampleservers.xyz.ics
pref.user5@sampleservers.xyz.csv
pref.user5@sampleservers.xyz.ics
pref.user6@sampleservers.xyz.csv
pref.user6@sampleservers.xyz.ics
pref.user7@sampleservers.xyz.csv
pref.user7@sampleservers.xyz.ics
pref.user8@sampleservers.xyz.csv
pref.user8@sampleservers.xyz.ics
pref.user9@sampleservers.xyz.csv
pref.user9@sampleservers.xyz.ics
provisioning.ldif
spam.qssk4cms@sampleserver.xyz.csv
spam.qssk4cms@sampleserver.xyz.ics
test.user10@sampleserver.xyz.csv
test.user10@sampleserver.xyz.ics
test.user11@sampleserver.xyz.csv
test.user11@sampleserver.xyz.ics
test.user12@sampleserver.xyz.csv
test.user12@sampleserver.xyz.ics
test.user13@sampleserver.xyz.csv
test.user13@sampleserver.xyz.ics
test.user14@sampleserver.xyz.csv
test.user14@sampleserver.xyz.ics
test.user15@sampleserver.xyz.csv
test.user15@sampleserver.xyz.ics
test.user16@sampleserver.xyz.csv
test.user16@sampleserver.xyz.ics
test.user17@sampleserver.xyz.csv
test.user17@sampleserver.xyz.ics
test.user18@sampleserver.xyz.csv
test.user18@sampleserver.xyz.ics
test.user19@sampleserver.xyz.csv
test.user19@sampleserver.xyz.ics
test.user1@sampleserver.xyz.csv
test.user1@sampleserver.xyz.ics
test.user20@sampleserver.xyz.csv
test.user20@sampleserver.xyz.ics
test.user21@sampleserver.xyz.csv
test.user21@sampleserver.xyz.ics
test.user22@sampleserver.xyz.csv
test.user22@sampleserver.xyz.ics
test.user23@sampleserver.xyz.csv
test.user23@sampleserver.xyz.ics
test.user24@sampleserver.xyz.csv
test.user24@sampleserver.xyz.ics
test.user25@sampleserver.xyz.csv
test.user25@sampleserver.xyz.ics
test.user26@sampleserver.xyz.csv
test.user26@sampleserver.xyz.ics
test.user27@sampleserver.xyz.csv
test.user27@sampleserver.xyz.ics
test.user28@sampleserver.xyz.csv
test.user28@sampleserver.xyz.ics
test.user29@sampleserver.xyz.csv
test.user29@sampleserver.xyz.ics
test.user2@sampleserver.xyz.csv
test.user2@sampleserver.xyz.ics
test.user30@sampleserver.xyz.csv
test.user30@sampleserver.xyz.ics
test.user31@sampleserver.xyz.csv
test.user31@sampleserver.xyz.ics
test.user32@sampleserver.xyz.csv
test.user32@sampleserver.xyz.ics
test.user33@sampleserver.xyz.csv
test.user33@sampleserver.xyz.ics
test.user34@sampleserver.xyz.csv
test.user34@sampleserver.xyz.ics
test.user35@sampleserver.xyz.csv
test.user35@sampleserver.xyz.ics
test.user36@sampleserver.xyz.csv
test.user36@sampleserver.xyz.ics
test.user37@sampleserver.xyz.csv
test.user37@sampleserver.xyz.ics
test.user38@sampleserver.xyz.csv
test.user38@sampleserver.xyz.ics
test.user39@sampleserver.xyz.csv
test.user39@sampleserver.xyz.ics
test.user3@sampleserver.xyz.csv
test.user3@sampleserver.xyz.ics
test.user40@sampleserver.xyz.csv
test.user40@sampleserver.xyz.ics
test.user41@sampleserver.xyz.csv
test.user41@sampleserver.xyz.ics
test.user42@sampleserver.xyz.csv
test.user42@sampleserver.xyz.ics
test.user43@sampleserver.xyz.csv
test.user43@sampleserver.xyz.ics
test.user44@sampleserver.xyz.csv
test.user44@sampleserver.xyz.ics
test.user45@sampleserver.xyz.csv
test.user45@sampleserver.xyz.ics
test.user46@sampleserver.xyz.csv
test.user46@sampleserver.xyz.ics
test.user47@sampleserver.xyz.csv
test.user47@sampleserver.xyz.ics
test.user48@sampleserver.xyz.csv
test.user48@sampleserver.xyz.ics
test.user49@sampleserver.xyz.csv
test.user49@sampleserver.xyz.ics
test.user4@sampleserver.xyz.csv
test.user4@sampleserver.xyz.ics
test.user5@sampleserver.xyz.csv
test.user5@sampleserver.xyz.ics
test.user6@sampleserver.xyz.csv
test.user6@sampleserver.xyz.ics
test.user7@sampleserver.xyz.csv
test.user7@sampleserver.xyz.ics
test.user8@sampleserver.xyz.csv
test.user8@sampleserver.xyz.ics
test.user9@sampleserver.xyz.csv
test.user9@sampleserver.xyz.ics
virus-quarantine.uouh9sl11@sampleserver.xyz.csv
virus-quarantine.uouh9sl11@sampleserver.xyz.ics

sent 5,071,417 bytes  received 7,586 bytes  677,200.40 bytes/sec
total size is 5,473,213  speedup is 1.08
zimbra@mail:~/backup$

Note: To transfer these provisioning data, you can use any of your convenient tools (i.e. rsync, scp etc.). Just try to be careful about their location & permissions on the destination Carbonio CE server

On Destination Carbonio CE Server

  • Now we are going to Import the transferred ldap data into destination server (Carbonio CE) after some cleaning of the transferred ldap data.
  • Clean the dump of coses
root@mail:/opt/zextras/backup# perl -p0e 's/\n //g' /opt/zextras/backup/coses.ldif > /opt/zextras/backup/coses_1.ldif
root@mail:/opt/zextras/backup#
root@mail:/opt/zextras/backup# perl -p0e 's/zimbra(ProxyCacheableContentTypes|Pref(Reading|Contacts|AutocompleteAddress|IM|FileSharing|Briefcase|CalendarReminder)|MobilePolicyDeviceEncryption|IMService|Feature(Briefcase|IM|ImportExport|MailPollingInterval|Notebook|PeopleSearch|ShortcutAliases|TouchClient|WebSearch)).*:.*\n//g' /opt/zextras/backup/coses_1.ldif > /opt/zextras/backup/coses_2.ldif
root@mail:/opt/zextras/backup#
  • Import coses to the destination server (Carbonio CE)
root@mail:/opt/zextras/backup# /opt/zextras/common/sbin/slapadd -F /opt/zextras/data/ldap/config/ -v -l /opt/zextras/backup/coses_2.ldif
64b3fd68 The first database does not allow slapadd; using the first available one (2)
added: "cn=test_cos,cn=cos,cn=zimbra" (0000002a)
added: "cn=cos_oldserver,cn=cos,cn=zimbra" (0000002b)
added: "cn=cos_sampleserver,cn=cos,cn=zimbra" (0000002c)
added: "cn=cos_sampleservers,cn=cos,cn=zimbra" (0000002d)
added: "cn=cos_zextras,cn=cos,cn=zimbra" (0000002e)
_#################### 100.00% eta   none elapsed            none fast!
Closing DB...
root@mail:/opt/zextras/backup#

Note: You can verify them from both CLI & the Admin UI.

  • Clean the dump of the provisioning data.
root@mail:/opt/zextras/backup# perl -p0e 's/\n //g' /opt/zextras/backup/provisioning.ldif > /opt/zextras/backup/provisioning_1.ldif
root@mail:/opt/zextras/backup#
root@mail:/opt/zextras/backup# perl -p0e 's/mail.sampleserver.xyz/mail.carbonio.local/g' /opt/zextras/backup/provisioning_1.ldif  > /opt/zextras/backup/provisioning_2.ldif
root@mail:/opt/zextras/backup#

Note: On the second command we have used the hostname of source server (Zimbra) & destination server (Carbonio CE).

  • Replace the source server hostname with destination server hostname. For example:
sed 's/source_server_hostname/destination_server_hostname/g' /tmp/provisioning_2.ldif

Note: But as in this test environment, both source and destination server has same hostname (mail) in the /etc/hosts file, we can skip this step.

  • Import ldap data to the destination server (Carbonio CE).
root@mail:/opt/zextras/backup# /opt/zextras/common/sbin/slapadd -F /opt/zextras/data/ldap/config/ -v -l /opt/zextras/backup/provisioning_2.ldif
64b40071 The first database does not allow slapadd; using the first available one (2)
added: "dc=xyz" (0000002f)
added: "dc=sampleserver,dc=xyz" (00000030)
added: "ou=people,dc=sampleserver,dc=xyz" (00000031)
added: "cn=groups,dc=sampleserver,dc=xyz" (00000032)
added: "uid=admin,ou=people,dc=sampleserver,dc=xyz" (00000033)
added: "uid=root,ou=people,dc=sampleserver,dc=xyz" (00000034)
added: "uid=postmaster,ou=people,dc=sampleserver,dc=xyz" (00000035)
added: "uid=spam.qssk4cms,ou=people,dc=sampleserver,dc=xyz" (00000036)
added: "uid=ham.qu4wp9v0n,ou=people,dc=sampleserver,dc=xyz" (00000037)
added: "uid=virus-quarantine.uouh9sl11,ou=people,dc=sampleserver,dc=xyz" (00000038)
added: "uid=galsync.xzvkiamnt,ou=people,dc=sampleserver,dc=xyz" (00000039)
added: "zimbraDataSourceName=InternalGAL,uid=galsync.xzvkiamnt,ou=people,dc=sampleserver,dc=xyz" (0000003a)
added: "uid=test.user1,ou=people,dc=sampleserver,dc=xyz" (0000003b)
added: "uid=test.user2,ou=people,dc=sampleserver,dc=xyz" (0000003c)
added: "uid=test.user3,ou=people,dc=sampleserver,dc=xyz" (0000003d)
added: "uid=test.user4,ou=people,dc=sampleserver,dc=xyz" (0000003e)
added: "uid=test.user5,ou=people,dc=sampleserver,dc=xyz" (0000003f)
added: "uid=test.user6,ou=people,dc=sampleserver,dc=xyz" (00000040)
added: "uid=test.user7,ou=people,dc=sampleserver,dc=xyz" (00000041)
added: "uid=test.user8,ou=people,dc=sampleserver,dc=xyz" (00000042)
added: "uid=test.user9,ou=people,dc=sampleserver,dc=xyz" (00000043)
added: "uid=test.user10,ou=people,dc=sampleserver,dc=xyz" (00000044)
added: "uid=test.user11,ou=people,dc=sampleserver,dc=xyz" (00000045)
added: "uid=test.user12,ou=people,dc=sampleserver,dc=xyz" (00000046)
added: "uid=test.user13,ou=people,dc=sampleserver,dc=xyz" (00000047)
added: "uid=test.user14,ou=people,dc=sampleserver,dc=xyz" (00000048)
added: "uid=test.user15,ou=people,dc=sampleserver,dc=xyz" (00000049)
added: "uid=test.user16,ou=people,dc=sampleserver,dc=xyz" (0000004a)
added: "uid=test.user17,ou=people,dc=sampleserver,dc=xyz" (0000004b)
added: "uid=test.user18,ou=people,dc=sampleserver,dc=xyz" (0000004c)
added: "uid=test.user19,ou=people,dc=sampleserver,dc=xyz" (0000004d)
added: "uid=test.user20,ou=people,dc=sampleserver,dc=xyz" (0000004e)
added: "uid=test.user21,ou=people,dc=sampleserver,dc=xyz" (0000004f)
added: "uid=test.user22,ou=people,dc=sampleserver,dc=xyz" (00000050)
added: "uid=test.user23,ou=people,dc=sampleserver,dc=xyz" (00000051)
added: "uid=test.user24,ou=people,dc=sampleserver,dc=xyz" (00000052)
added: "uid=test.user25,ou=people,dc=sampleserver,dc=xyz" (00000053)
added: "uid=test.user26,ou=people,dc=sampleserver,dc=xyz" (00000054)
added: "uid=test.user27,ou=people,dc=sampleserver,dc=xyz" (00000055)
added: "uid=test.user28,ou=people,dc=sampleserver,dc=xyz" (00000056)
added: "uid=test.user29,ou=people,dc=sampleserver,dc=xyz" (00000057)
added: "uid=test.user30,ou=people,dc=sampleserver,dc=xyz" (00000058)
added: "uid=test.user31,ou=people,dc=sampleserver,dc=xyz" (00000059)
added: "uid=test.user32,ou=people,dc=sampleserver,dc=xyz" (0000005a)
added: "uid=test.user33,ou=people,dc=sampleserver,dc=xyz" (0000005b)
added: "uid=test.user34,ou=people,dc=sampleserver,dc=xyz" (0000005c)
added: "uid=test.user35,ou=people,dc=sampleserver,dc=xyz" (0000005d)
added: "uid=test.user36,ou=people,dc=sampleserver,dc=xyz" (0000005e)
added: "uid=test.user37,ou=people,dc=sampleserver,dc=xyz" (0000005f)
added: "uid=test.user38,ou=people,dc=sampleserver,dc=xyz" (00000060)
added: "uid=test.user39,ou=people,dc=sampleserver,dc=xyz" (00000061)
added: "uid=test.user40,ou=people,dc=sampleserver,dc=xyz" (00000062)
added: "uid=test.user41,ou=people,dc=sampleserver,dc=xyz" (00000063)
added: "uid=test.user42,ou=people,dc=sampleserver,dc=xyz" (00000064)
added: "uid=test.user43,ou=people,dc=sampleserver,dc=xyz" (00000065)
added: "uid=test.user44,ou=people,dc=sampleserver,dc=xyz" (00000066)
added: "uid=test.user45,ou=people,dc=sampleserver,dc=xyz" (00000067)
added: "uid=test.user46,ou=people,dc=sampleserver,dc=xyz" (00000068)
added: "uid=test.user47,ou=people,dc=sampleserver,dc=xyz" (00000069)
added: "uid=test.user48,ou=people,dc=sampleserver,dc=xyz" (0000006a)
added: "uid=test.user49,ou=people,dc=sampleserver,dc=xyz" (0000006b)
added: "dc=oldserver,dc=xyz" (0000006c)
added: "ou=people,dc=oldserver,dc=xyz" (0000006d)
added: "cn=groups,dc=oldserver,dc=xyz" (0000006e)
added: "uid=galsync,ou=people,dc=oldserver,dc=xyz" (0000006f)
added: "zimbraDataSourceName=zimbra,uid=galsync,ou=people,dc=oldserver,dc=xyz" (00000070)
added: "dc=sampleservers,dc=xyz" (00000071)
added: "ou=people,dc=sampleservers,dc=xyz" (00000072)
added: "cn=groups,dc=sampleservers,dc=xyz" (00000073)
added: "uid=galsync,ou=people,dc=sampleservers,dc=xyz" (00000074)
added: "zimbraDataSourceName=zimbra,uid=galsync,ou=people,dc=sampleservers,dc=xyz" (00000075)
added: "dc=zextras,dc=xyz" (00000076)
added: "ou=people,dc=zextras,dc=xyz" (00000077)
added: "cn=groups,dc=zextras,dc=xyz" (00000078)
added: "uid=galsync,ou=people,dc=zextras,dc=xyz" (00000079)
added: "zimbraDataSourceName=zimbra,uid=galsync,ou=people,dc=zextras,dc=xyz" (0000007a)
added: "uid=example.user1,ou=people,dc=oldserver,dc=xyz" (0000007b)
added: "uid=example.user2,ou=people,dc=oldserver,dc=xyz" (0000007c)
added: "uid=example.user3,ou=people,dc=oldserver,dc=xyz" (0000007d)
added: "uid=example.user4,ou=people,dc=oldserver,dc=xyz" (0000007e)
added: "uid=example.user5,ou=people,dc=oldserver,dc=xyz" (0000007f)
added: "uid=example.user6,ou=people,dc=oldserver,dc=xyz" (00000080)
added: "uid=example.user7,ou=people,dc=oldserver,dc=xyz" (00000081)
added: "uid=example.user8,ou=people,dc=oldserver,dc=xyz" (00000082)
added: "uid=example.user9,ou=people,dc=oldserver,dc=xyz" (00000083)
added: "uid=example.user10,ou=people,dc=oldserver,dc=xyz" (00000084)
added: "uid=example.user11,ou=people,dc=oldserver,dc=xyz" (00000085)
added: "uid=example.user12,ou=people,dc=oldserver,dc=xyz" (00000086)
added: "uid=example.user13,ou=people,dc=oldserver,dc=xyz" (00000087)
added: "uid=example.user14,ou=people,dc=oldserver,dc=xyz" (00000088)
added: "uid=example.user15,ou=people,dc=oldserver,dc=xyz" (00000089)
added: "uid=pref.user1,ou=people,dc=sampleservers,dc=xyz" (0000008a)
added: "uid=pref.user2,ou=people,dc=sampleservers,dc=xyz" (0000008b)
added: "uid=pref.user3,ou=people,dc=sampleservers,dc=xyz" (0000008c)
added: "uid=pref.user4,ou=people,dc=sampleservers,dc=xyz" (0000008d)
added: "uid=pref.user5,ou=people,dc=sampleservers,dc=xyz" (0000008e)
added: "uid=pref.user6,ou=people,dc=sampleservers,dc=xyz" (0000008f)
added: "uid=pref.user7,ou=people,dc=sampleservers,dc=xyz" (00000090)
added: "uid=pref.user8,ou=people,dc=sampleservers,dc=xyz" (00000091)
added: "uid=pref.user9,ou=people,dc=sampleservers,dc=xyz" (00000092)
added: "uid=pref.user10,ou=people,dc=sampleservers,dc=xyz" (00000093)
added: "uid=original.user1,ou=people,dc=zextras,dc=xyz" (00000094)
added: "uid=original.user2,ou=people,dc=zextras,dc=xyz" (00000095)
added: "uid=original.user3,ou=people,dc=zextras,dc=xyz" (00000096)
added: "uid=original.user4,ou=people,dc=zextras,dc=xyz" (00000097)
added: "uid=original.user5,ou=people,dc=zextras,dc=xyz" (00000098)
added: "uid=original.user6,ou=people,dc=zextras,dc=xyz" (00000099)
added: "uid=original.user7,ou=people,dc=zextras,dc=xyz" (0000009a)
added: "uid=original.user8,ou=people,dc=zextras,dc=xyz" (0000009b)
added: "uid=original.user9,ou=people,dc=zextras,dc=xyz" (0000009c)
added: "uid=original.user10,ou=people,dc=zextras,dc=xyz" (0000009d)
added: "uid=original.user11,ou=people,dc=zextras,dc=xyz" (0000009e)
added: "uid=original.user12,ou=people,dc=zextras,dc=xyz" (0000009f)
added: "uid=original.user13,ou=people,dc=zextras,dc=xyz" (000000a0)
added: "uid=original.user14,ou=people,dc=zextras,dc=xyz" (000000a1)
added: "uid=original.user15,ou=people,dc=zextras,dc=xyz" (000000a2)
added: "uid=original.user16,ou=people,dc=zextras,dc=xyz" (000000a3)
added: "uid=original.user17,ou=people,dc=zextras,dc=xyz" (000000a4)
added: "uid=original.user18,ou=people,dc=zextras,dc=xyz" (000000a5)
added: "uid=original.user19,ou=people,dc=zextras,dc=xyz" (000000a6)
added: "uid=original.user20,ou=people,dc=zextras,dc=xyz" (000000a7)
added: "uid=transport,ou=people,dc=oldserver,dc=xyz" (000000a8)
added: "uid=asset,ou=people,dc=oldserver,dc=xyz" (000000a9)
added: "uid=utility,ou=people,dc=oldserver,dc=xyz" (000000aa)
added: "uid=sales,ou=people,dc=sampleserver,dc=xyz" (000000ab)
added: "uid=marketing,ou=people,dc=sampleserver,dc=xyz" (000000ac)
added: "uid=ihd,ou=people,dc=sampleserver,dc=xyz" (000000ad)
added: "uid=hr,ou=people,dc=sampleserver,dc=xyz" (000000ae)
added: "uid=devs,ou=people,dc=sampleserver,dc=xyz" (000000af)
added: "uid=ux,ou=people,dc=sampleserver,dc=xyz" (000000b0)
added: "uid=managers,ou=people,dc=sampleserver,dc=xyz" (000000b1)
added: "uid=finance,ou=people,dc=sampleservers,dc=xyz" (000000b2)
added: "uid=it,ou=people,dc=sampleservers,dc=xyz" (000000b3)
added: "uid=branch1,ou=people,dc=zextras,dc=xyz" (000000b4)
added: "uid=branch2,ou=people,dc=zextras,dc=xyz" (000000b5)
added: "uid=branch3,ou=people,dc=zextras,dc=xyz" (000000b6)
added: "zimbraSignatureName=Personal,uid=example.user10,ou=people,dc=oldserver,dc=xyz" (000000b7)
added: "zimbraSignatureName=Personal,uid=admin,ou=people,dc=sampleserver,dc=xyz" (000000b8)
added: "zimbraSignatureName=Personal,uid=spam.qssk4cms,ou=people,dc=sampleserver,dc=xyz" (000000b9)
added: "zimbraSignatureName=Personal,uid=ham.qu4wp9v0n,ou=people,dc=sampleserver,dc=xyz" (000000ba)
added: "zimbraSignatureName=Personal,uid=virus-quarantine.uouh9sl11,ou=people,dc=sampleserver,dc=xyz" (000000bb)
added: "zimbraSignatureName=Personal,uid=galsync.xzvkiamnt,ou=people,dc=sampleserver,dc=xyz" (000000bc)
added: "zimbraSignatureName=Personal,uid=test.user1,ou=people,dc=sampleserver,dc=xyz" (000000bd)
added: "zimbraSignatureName=Personal,uid=test.user2,ou=people,dc=sampleserver,dc=xyz" (000000be)
added: "zimbraSignatureName=Personal,uid=test.user3,ou=people,dc=sampleserver,dc=xyz" (000000bf)
added: "zimbraSignatureName=Personal,uid=test.user4,ou=people,dc=sampleserver,dc=xyz" (000000c0)
added: "zimbraSignatureName=Personal,uid=test.user5,ou=people,dc=sampleserver,dc=xyz" (000000c1)
added: "zimbraSignatureName=Personal,uid=test.user6,ou=people,dc=sampleserver,dc=xyz" (000000c2)
added: "zimbraSignatureName=Personal,uid=test.user7,ou=people,dc=sampleserver,dc=xyz" (000000c3)
added: "zimbraSignatureName=Personal,uid=test.user8,ou=people,dc=sampleserver,dc=xyz" (000000c4)
added: "zimbraSignatureName=Personal,uid=test.user9,ou=people,dc=sampleserver,dc=xyz" (000000c5)
added: "zimbraSignatureName=Personal,uid=test.user10,ou=people,dc=sampleserver,dc=xyz" (000000c6)
added: "zimbraSignatureName=Personal,uid=test.user11,ou=people,dc=sampleserver,dc=xyz" (000000c7)
added: "zimbraSignatureName=Personal,uid=test.user12,ou=people,dc=sampleserver,dc=xyz" (000000c8)
added: "zimbraSignatureName=Personal,uid=test.user13,ou=people,dc=sampleserver,dc=xyz" (000000c9)
added: "zimbraSignatureName=Personal,uid=test.user14,ou=people,dc=sampleserver,dc=xyz" (000000ca)
added: "zimbraSignatureName=Personal,uid=test.user15,ou=people,dc=sampleserver,dc=xyz" (000000cb)
added: "zimbraSignatureName=Personal,uid=test.user16,ou=people,dc=sampleserver,dc=xyz" (000000cc)
added: "zimbraSignatureName=Personal,uid=test.user17,ou=people,dc=sampleserver,dc=xyz" (000000cd)
added: "zimbraSignatureName=Personal,uid=test.user18,ou=people,dc=sampleserver,dc=xyz" (000000ce)
added: "zimbraSignatureName=Personal,uid=test.user19,ou=people,dc=sampleserver,dc=xyz" (000000cf)
added: "zimbraSignatureName=Personal,uid=test.user20,ou=people,dc=sampleserver,dc=xyz" (000000d0)
added: "zimbraSignatureName=Personal,uid=test.user21,ou=people,dc=sampleserver,dc=xyz" (000000d1)
added: "zimbraSignatureName=Personal,uid=test.user22,ou=people,dc=sampleserver,dc=xyz" (000000d2)
added: "zimbraSignatureName=Personal,uid=test.user23,ou=people,dc=sampleserver,dc=xyz" (000000d3)
added: "zimbraSignatureName=Personal,uid=test.user24,ou=people,dc=sampleserver,dc=xyz" (000000d4)
added: "zimbraSignatureName=Personal,uid=test.user25,ou=people,dc=sampleserver,dc=xyz" (000000d5)
added: "zimbraSignatureName=Personal,uid=test.user26,ou=people,dc=sampleserver,dc=xyz" (000000d6)
added: "zimbraSignatureName=Personal,uid=test.user27,ou=people,dc=sampleserver,dc=xyz" (000000d7)
added: "zimbraSignatureName=Personal,uid=test.user28,ou=people,dc=sampleserver,dc=xyz" (000000d8)
added: "zimbraSignatureName=Personal,uid=test.user29,ou=people,dc=sampleserver,dc=xyz" (000000d9)
added: "zimbraSignatureName=Personal,uid=test.user30,ou=people,dc=sampleserver,dc=xyz" (000000da)
added: "zimbraSignatureName=Personal,uid=test.user31,ou=people,dc=sampleserver,dc=xyz" (000000db)
added: "zimbraSignatureName=Personal,uid=test.user32,ou=people,dc=sampleserver,dc=xyz" (000000dc)
added: "zimbraSignatureName=Personal,uid=test.user33,ou=people,dc=sampleserver,dc=xyz" (000000dd)
added: "zimbraSignatureName=Personal,uid=test.user34,ou=people,dc=sampleserver,dc=xyz" (000000de)
added: "zimbraSignatureName=Personal,uid=test.user35,ou=people,dc=sampleserver,dc=xyz" (000000df)
added: "zimbraSignatureName=Personal,uid=test.user36,ou=people,dc=sampleserver,dc=xyz" (000000e0)
added: "zimbraSignatureName=Personal,uid=test.user37,ou=people,dc=sampleserver,dc=xyz" (000000e1)
added: "zimbraSignatureName=Personal,uid=test.user38,ou=people,dc=sampleserver,dc=xyz" (000000e2)
added: "zimbraSignatureName=Personal,uid=test.user39,ou=people,dc=sampleserver,dc=xyz" (000000e3)
added: "zimbraSignatureName=Personal,uid=test.user40,ou=people,dc=sampleserver,dc=xyz" (000000e4)
added: "zimbraSignatureName=Personal,uid=test.user41,ou=people,dc=sampleserver,dc=xyz" (000000e5)
added: "zimbraSignatureName=Personal,uid=test.user42,ou=people,dc=sampleserver,dc=xyz" (000000e6)
added: "zimbraSignatureName=Personal,uid=test.user43,ou=people,dc=sampleserver,dc=xyz" (000000e7)
added: "zimbraSignatureName=Personal,uid=test.user44,ou=people,dc=sampleserver,dc=xyz" (000000e8)
added: "zimbraSignatureName=Personal,uid=test.user45,ou=people,dc=sampleserver,dc=xyz" (000000e9)
added: "zimbraSignatureName=Personal,uid=test.user46,ou=people,dc=sampleserver,dc=xyz" (000000ea)
added: "zimbraSignatureName=Personal,uid=test.user47,ou=people,dc=sampleserver,dc=xyz" (000000eb)
added: "zimbraSignatureName=Personal,uid=test.user48,ou=people,dc=sampleserver,dc=xyz" (000000ec)
added: "zimbraSignatureName=Personal,uid=test.user49,ou=people,dc=sampleserver,dc=xyz" (000000ed)
added: "zimbraSignatureName=Personal,uid=galsync,ou=people,dc=sampleservers,dc=xyz" (000000ee)
added: "zimbraSignatureName=Personal,uid=pref.user1,ou=people,dc=sampleservers,dc=xyz" (000000ef)
added: "zimbraSignatureName=Personal,uid=pref.user2,ou=people,dc=sampleservers,dc=xyz" (000000f0)
added: "zimbraSignatureName=Personal,uid=pref.user3,ou=people,dc=sampleservers,dc=xyz" (000000f1)
added: "zimbraSignatureName=Personal,uid=pref.user4,ou=people,dc=sampleservers,dc=xyz" (000000f2)
added: "zimbraSignatureName=Personal,uid=pref.user5,ou=people,dc=sampleservers,dc=xyz" (000000f3)
added: "zimbraSignatureName=Personal,uid=pref.user6,ou=people,dc=sampleservers,dc=xyz" (000000f4)
added: "zimbraSignatureName=Personal,uid=pref.user7,ou=people,dc=sampleservers,dc=xyz" (000000f5)
added: "zimbraSignatureName=Personal,uid=pref.user8,ou=people,dc=sampleservers,dc=xyz" (000000f6)
added: "zimbraSignatureName=Personal,uid=pref.user9,ou=people,dc=sampleservers,dc=xyz" (000000f7)
added: "zimbraSignatureName=Personal,uid=pref.user10,ou=people,dc=sampleservers,dc=xyz" (000000f8)
added: "zimbraSignatureName=Personal,uid=galsync,ou=people,dc=oldserver,dc=xyz" (000000f9)
added: "zimbraSignatureName=Personal,uid=example.user1,ou=people,dc=oldserver,dc=xyz" (000000fa)
added: "zimbraSignatureName=Personal,uid=example.user2,ou=people,dc=oldserver,dc=xyz" (000000fb)
added: "zimbraSignatureName=Personal,uid=example.user3,ou=people,dc=oldserver,dc=xyz" (000000fc)
added: "zimbraSignatureName=Personal,uid=example.user4,ou=people,dc=oldserver,dc=xyz" (000000fd)
added: "zimbraSignatureName=Personal,uid=example.user5,ou=people,dc=oldserver,dc=xyz" (000000fe)
added: "zimbraSignatureName=Personal,uid=example.user6,ou=people,dc=oldserver,dc=xyz" (000000ff)
added: "zimbraSignatureName=Personal,uid=example.user7,ou=people,dc=oldserver,dc=xyz" (00000100)
added: "zimbraSignatureName=Personal,uid=example.user8,ou=people,dc=oldserver,dc=xyz" (00000101)
added: "zimbraSignatureName=Personal,uid=example.user9,ou=people,dc=oldserver,dc=xyz" (00000102)
added: "zimbraSignatureName=Personal,uid=example.user11,ou=people,dc=oldserver,dc=xyz" (00000103)
added: "zimbraSignatureName=Personal,uid=example.user12,ou=people,dc=oldserver,dc=xyz" (00000104)
added: "zimbraSignatureName=Personal,uid=example.user13,ou=people,dc=oldserver,dc=xyz" (00000105)
added: "zimbraSignatureName=Personal,uid=example.user14,ou=people,dc=oldserver,dc=xyz" (00000106)
added: "zimbraSignatureName=Personal,uid=example.user15,ou=people,dc=oldserver,dc=xyz" (00000107)
added: "zimbraSignatureName=Personal,uid=galsync,ou=people,dc=zextras,dc=xyz" (00000108)
added: "zimbraSignatureName=Personal,uid=original.user1,ou=people,dc=zextras,dc=xyz" (00000109)
added: "zimbraSignatureName=Personal,uid=original.user2,ou=people,dc=zextras,dc=xyz" (0000010a)
added: "zimbraSignatureName=Personal,uid=original.user3,ou=people,dc=zextras,dc=xyz" (0000010b)
added: "zimbraSignatureName=Personal,uid=original.user4,ou=people,dc=zextras,dc=xyz" (0000010c)
added: "zimbraSignatureName=Personal,uid=original.user5,ou=people,dc=zextras,dc=xyz" (0000010d)
added: "zimbraSignatureName=Personal,uid=original.user6,ou=people,dc=zextras,dc=xyz" (0000010e)
added: "zimbraSignatureName=Personal,uid=original.user7,ou=people,dc=zextras,dc=xyz" (0000010f)
added: "zimbraSignatureName=Personal,uid=original.user8,ou=people,dc=zextras,dc=xyz" (00000110)
added: "zimbraSignatureName=Personal,uid=original.user9,ou=people,dc=zextras,dc=xyz" (00000111)
added: "zimbraSignatureName=Personal,uid=original.user10,ou=people,dc=zextras,dc=xyz" (00000112)
added: "zimbraSignatureName=Personal,uid=original.user11,ou=people,dc=zextras,dc=xyz" (00000113)
added: "zimbraSignatureName=Personal,uid=original.user12,ou=people,dc=zextras,dc=xyz" (00000114)
added: "zimbraSignatureName=Personal,uid=original.user13,ou=people,dc=zextras,dc=xyz" (00000115)
added: "zimbraSignatureName=Personal,uid=original.user14,ou=people,dc=zextras,dc=xyz" (00000116)
added: "zimbraSignatureName=Personal,uid=original.user15,ou=people,dc=zextras,dc=xyz" (00000117)
added: "zimbraSignatureName=Personal,uid=original.user16,ou=people,dc=zextras,dc=xyz" (00000118)
added: "zimbraSignatureName=Personal,uid=original.user17,ou=people,dc=zextras,dc=xyz" (00000119)
added: "zimbraSignatureName=Personal,uid=original.user18,ou=people,dc=zextras,dc=xyz" (0000011a)
added: "zimbraSignatureName=Personal,uid=original.user19,ou=people,dc=zextras,dc=xyz" (0000011b)
added: "zimbraSignatureName=Personal,uid=original.user20,ou=people,dc=zextras,dc=xyz" (0000011c)
added: "zimbraSignatureName=Team,uid=galsync,ou=people,dc=zextras,dc=xyz" (0000011d)
added: "zimbraSignatureName=Team,uid=original.user1,ou=people,dc=zextras,dc=xyz" (0000011e)
added: "zimbraSignatureName=Team,uid=original.user2,ou=people,dc=zextras,dc=xyz" (0000011f)
added: "zimbraSignatureName=Team,uid=original.user3,ou=people,dc=zextras,dc=xyz" (00000120)
added: "zimbraSignatureName=Team,uid=original.user4,ou=people,dc=zextras,dc=xyz" (00000121)
added: "zimbraSignatureName=Team,uid=original.user5,ou=people,dc=zextras,dc=xyz" (00000122)
added: "zimbraSignatureName=Team,uid=original.user6,ou=people,dc=zextras,dc=xyz" (00000123)
added: "zimbraSignatureName=Team,uid=original.user7,ou=people,dc=zextras,dc=xyz" (00000124)
added: "zimbraSignatureName=Team,uid=original.user8,ou=people,dc=zextras,dc=xyz" (00000125)
added: "zimbraSignatureName=Team,uid=original.user9,ou=people,dc=zextras,dc=xyz" (00000126)
added: "zimbraSignatureName=Team,uid=original.user10,ou=people,dc=zextras,dc=xyz" (00000127)
added: "zimbraSignatureName=Team,uid=original.user11,ou=people,dc=zextras,dc=xyz" (00000128)
added: "zimbraSignatureName=Team,uid=original.user12,ou=people,dc=zextras,dc=xyz" (00000129)
added: "zimbraSignatureName=Team,uid=original.user13,ou=people,dc=zextras,dc=xyz" (0000012a)
added: "zimbraSignatureName=Team,uid=original.user14,ou=people,dc=zextras,dc=xyz" (0000012b)
added: "zimbraSignatureName=Team,uid=original.user15,ou=people,dc=zextras,dc=xyz" (0000012c)
added: "zimbraSignatureName=Team,uid=original.user16,ou=people,dc=zextras,dc=xyz" (0000012d)
added: "zimbraSignatureName=Team,uid=original.user17,ou=people,dc=zextras,dc=xyz" (0000012e)
added: "zimbraSignatureName=Team,uid=original.user18,ou=people,dc=zextras,dc=xyz" (0000012f)
added: "zimbraSignatureName=Team,uid=original.user19,ou=people,dc=zextras,dc=xyz" (00000130)
added: "zimbraSignatureName=Team,uid=original.user20,ou=people,dc=zextras,dc=xyz" (00000131)
_#################### 100.00% eta   none elapsed            none fast!
Closing DB...
root@mail:/tmp#
  • Import the Calendar & Contacts that we have transferred from the source server. The process is same, you can use zmmailbox command for single user or in a bash script. Check out the example:

Important Notes:

Few things you should keep in mind before starting the mailbox export/import process:
1. Set the socket timeout high (i.e. zmlocalconfig -e socket_so_timeout=3000000; zmlocalconfig –reload)
2.  Set Public Service Host Name & Public Service Protocol to https avoid any error/issue
.

For single use:

zmmailbox -z -m test.user1@sampleserver.xyz postRestURL "/Calendar?fmt=ics"  /opt/zextras/backup/test.user1@sampleserver.xyz.ics

Or you can use/create a bash script to perform the task in a batch.

#!/bin/bash
# User Account Contacts & Calendar importing Script

echo -en '\n'
echo "Starting Uploading Contacts & Calendar for all users"

echo -en '\n'
echo "Starting uploading Contacts & Calendar of all accounts of oldserver.xyz"

echo -en '\n'
for i in $(zmprov -l gaa oldserver.xyz);do zmmailbox -z -m $i -t 0 postRestURL "/Calendar?fmt=ics"  /opt/zextras/backup/$i.ics; echo -e "Finished uploading Calendar of $i"; done
echo -en '\n'
sleep 1

for i in $(zmprov -l gaa oldserver.xyz);do zmmailbox -z -m $i -t 0 postRestURL "/Contacts?fmt=csv"  /opt/zextras/backup/$i.csv; echo -e "Finished uploading Contacts of $i"; done
echo -en '\n'

echo "Finished uploading Contacts & Calendar of all accounts of oldserver.xyz"
echo -en '\n'
sleep 2

echo "Starting uploading Contacts & Calendar of all accounts of sampleserver.xyz"
echo -en '\n'
for i in $(zmprov -l gaa sampleserver.xyz);do zmmailbox -z -m $i -t 0 postRestURL "/Calendar?fmt=ics"  /opt/zextras/backup/$i.ics; echo -e "Finished uploading Calendar of $i"; done
echo -en '\n'
sleep 1

for i in $(zmprov -l gaa sampleserver.xyz);do zmmailbox -z -m $i -t 0 postRestURL "/Contacts?fmt=csv"  /opt/zextras/backup/$i.csv; echo -e "Finished uploading Contacts of $i"; done
echo -en '\n'
echo "Finished uploading Contacts & Calendar of all accounts of sampleserver.xyz"
echo -en '\n'
sleep 2

echo "Starting uploading Contacts & Calendar of all accounts of sampleservers.xyz"
echo -en '\n'
for i in $(zmprov -l gaa sampleservers.xyz);do zmmailbox -z -m $i -t 0 postRestURL "/Calendar?fmt=ics"  /opt/zextras/backup/$i.ics; echo -e "Finished uploading Calendar of $i"; done
echo -en '\n'
sleep 1

for i in $(zmprov -l gaa sampleservers.xyz);do zmmailbox -z -m $i -t 0 postRestURL "/Contacts?fmt=csv"  /opt/zextras/backup/$i.csv; echo -e "Finished uploading Contacts of $i"; done
echo -en '\n'
echo "Finished uploading Contacts & Calendar of all accounts of sampleservers.xyz"
echo -en '\n'
sleep 1

echo "Starting uploading Contacts & Calendar of all accounts of zextras.xyz"
echo -en '\n'
for i in $(zmprov -l gaa zextras.xyz);do zmmailbox -z -m $i -t 0 postRestURL "/Calendar?fmt=ics"  /opt/zextras/backup/$i.ics; echo -e "Finished uploading Calendar of $i"; done
echo -en '\n'
sleep 1

for i in $(zmprov -l gaa zextras.xyz);do zmmailbox -z -m $i -t 0 postRestURL "/Contacts?fmt=csv"  /opt/zextras/backup/$i.csv; echo -e "Finished uploading Contacts of $i"; done
echo -en '\n'

echo "Finished uploading Contacts & Calendar of all accounts of zextras.xyz"
echo -en '\n'
sleep 1

echo "Finished Uploading Contacts & Calendar for all users"
echo -en '\n'

Important Note:
This is the end of Phase-1 (Provisioning). Before entering into Phase-2, you need to check and compare your destination server (Carbonio CE) ldap attributes with the source server (Zimbra). Use above mentioned checklist table to verify them from HLD perspective.

Make sure to check everything (except email data) before starting Phase-2 (Service Migration)

Phase-2 (Service Migration)

  • Activate your destination server (Carbonio CE) by updating/modifying your DNS records. Check your email send/receive is okay or not. For example:

Before Service Migration

MX record leads to old IP_ADDRESS via Hostname

C:\Users\SHARIF>nslookup
Default Server:  dns.google
Address:  8.8.8.8

> set q=mx
> sampleserver.xyz
Server:  dns.google
Address:  8.8.8.8

Non-authoritative answer:
sampleserver.xyz        MX preference = 0, mail exchanger = mail.sampleserver.xyz
>
> set q=a
> mail.sampleserver.xyz
Server:  dns.google
Address:  8.8.8.8

Non-authoritative answer:
Name:    mail.sampleserver.xyz
Address:  185.213.27.93

This MX & A record can be seen for other domains too. i.e. oldserver.xyz, latestserver.xyz, zextras.xyz

After Service Migration

MX record leads to new IP_ADDRESS via Hostname

C:\Users\SHARIF>nslookup
Default Server:  dns.google
Address:  8.8.8.8

> set q=mx
> sampleserver.xyz
Server:  dns.google
Address:  8.8.8.8

Non-authoritative answer:
sampleserver.xyz        MX preference = 0, mail exchanger = mail.sampleserver.xyz
>
> set q=a
> mail.sampleserver.xyz
Server:  dns.google
Address:  8.8.8.8

Non-authoritative answer:
Name:    mail.sampleserver.xyz
Address:  161.97.135.224

This MX & A record can be seen for other domains too. i.e. oldserver.xyz, latestserver.xyz, zextras.xyz

Important Note:
During the service migration and DNS record modification, make sure you have updated below mentioned items:
1. A records for all domains hostname
2. MX records for all domains
3. SPF/TXT record of all domains
4. DKIM record of all domains
5. DMARC record of all domains

In addition:
1. Make sure if you are using new IP address in your new server (Carbonio CE), update it in all of your appliances (i.e. Firewall, Email Gateway, Monitoring tools etc.) by replacing the Old_IP_Address.
2. Cross check for any other DNS records (i.e. SRV, CNAME records etc.) and update them.

Note: After the service migration, all users should be able to use their email accounts on the new platform (Carbonio CE) without any prior data. All previous email data will be available to the respective accounts gradually upon completion of the Phase-3 (Data Migration).

Phase-3 (Data Migration)

  • To proceed with this phase you need docker in you system. If your new system comes with a pre-installed docker then it’s fine or you can install it on you own. For example:

If your system does not have docker installed, then while executing next command you will get this error:

root@mail:/opt/zextras/backup# docker pull gilleslamiral/imapsync
Command 'docker' not found, but can be installed with:
apt install docker.io
root@mail:/opt/zextras/backup#

Then, you can just install docker using onscreen help.

root@mail:/opt/zextras/backup# apt install docker.io -y
  • Now install imapsync using the docker container.
root@mail:/opt/zextras/backup# docker pull gilleslamiral/imapsync
Using default tag: latest
latest: Pulling from gilleslamiral/imapsync
dbba69284b27: Pull complete
35fb588b380d: Pull complete
e6f6bb8e65dc: Pull complete
8b08ccd6df75: Pull complete
Digest: sha256:b871d0653f99b204b2a7dd1777bdfd9881671d1afab8cfa876925d0260b79657
Status: Downloaded newer image for gilleslamiral/imapsync:latest
docker.io/gilleslamiral/imapsync:latest
root@mail:/opt/zextras/backup#

Note:
Using docker image of imapsync is a smart and convenient way of using imapsync. Let’s take a look at some of it’s benefits:

1. You do not need a third server to install imapsync which reduces the dependency on third server and removes all other factors that can affect your migration process (i.e. interconnection between source server – imapsync server – destination server)
2. You do not want to install the imapsync server into either of your servers (Source or Destination) as it can jeopardize your server configuration.
3. When you are using the containerize version of imapsync, then you do not need to take any hassle to install and configure the imapsync server.
4. Imapsync can’t migrate Contacts and Calendars.

  • Now, do a test run before executing a massive sync process. Imapsync supports delegated auth login (--authuser1, --authuser2), so it is possible to migrate accounts even without knowing each individual users passwords (using a global administrator credentials).

Important Note:
If you don’t have the credentials of a global administrator you have to create it on the source server (Zimbra). But by default Zimbra has a global admin account named “admin” and Carbonio CE has a global admin account named “zextras” which can be used as authuser.

root@mail:/opt/zextras/backup# docker run --rm gilleslamiral/imapsync imapsync \
> --host1 IP_ZIMBRA_SERVER --ssl1 --user1 test.user1@sampleserver.xyz --authuser1 admin@sampleserver.xyz --password1 123456 \
> --host2 IP_CARBONIO_SERVER --ssl2 --user2 test.user1@sampleserver.xyz --authuser2 zextras@carbonio.local --password2 123456

[OUTPUT]

Docker context detected with the file /.dockerenv
No log by default in Docker context. Use --log to trigger logging to the logfile.
Changing current directory to /var/tmp/uid_65534
Here is imapsync 2.229 on host 0525ab412741, a linux system with 0.9/7.8 free GiB of RAM, 2.02% used by processes.
with Perl 5.32.1 and Mail::IMAPClient 3.42
Transfer started at Sunday 16 July 2023-07-16 17:02:07 +0000 UTC
PID is 1 my PPID is 0
No log file because of option --nolog
Load is 0.82 0.88 0.90 6/867 on 4 cores
Current directory is /var/tmp/uid_65534
Real user id is nobody (uid 65534)
Effective user id is nobody (euid 65534)
$RCSfile: imapsync,v $ $Revision: 2.229 $ $Date: 2022/09/14 18:08:24 $
Command line used, run by /usr/bin/perl:
/usr/bin/imapsync --host1 IP_ZIMBRA_SERVER --ssl1 --user1 test.user1@sampleserver.xyz --authuser1 admin@sampleserver.xyz --password1 MASKED --host2 IP_CARBONIO_SERVER --ssl2 --user2 test.user1@sampleserver.xyz --authuser2 zextras@carbonio.local --password2 MASKED
Temp directory is /tmp ( to change it use --tmpdir dirpath )
Under docker context so installing only signals to exit
kill -INT 1 # special behavior: call to sub catch_exit
kill -QUIT 1 # special behavior: call to sub catch_exit
kill -TERM 1 # special behavior: call to sub catch_exit
No variable pid_filename
PID file is unset ( to set it, use --pidfile filepath ; to avoid it use --pidfile "" )
Modules version list ( use --no-modulesversion to turn off printing this Perl modules list ):
Authen::NTLM         1.09
CGI                  4.51
Compress::Zlib       2.101
Crypt::OpenSSL::RSA  0.31
Data::Uniqid         0.12
Digest::HMAC_MD5     1.01
Digest::HMAC_SHA1    1.03
Digest::MD5          2.55_01
Encode               3.06
Encode::IMAPUTF7     1.05
File::Copy::Recursive 0.45
File::Spec           3.78
Getopt::Long         2.51
HTML::Entities       3.75
IO::Socket           1.43
IO::Socket::INET     1.41
IO::Socket::INET6    2.72
IO::Socket::IP       0.39
IO::Socket::SSL      2.075
IO::Tee              0.65
JSON                 4.03
JSON::WebToken       0.10
LWP                  6.52
MIME::Base64         3.15
Mail::IMAPClient     3.42
Net::Ping            2.72
Net::SSLeay          1.88
Term::ReadKey        2.38
Test::MockObject     1.20200122
Time::HiRes          1.9764
URI::Escape          5.08
Unicode::String      2.10

Info: will resync flags for already transferred messages. Use --noresyncflags to not resync flags.
SSL debug mode level is --debugssl 1 (can be set from 0 meaning no debug to 4 meaning max debug)
Host1: SSL default mode is like --sslargs1 "SSL_verify_mode=0", meaning for host1 SSL_VERIFY_NONE, ie, do not check the server certificate.
Host1: Use --sslargs1 SSL_verify_mode=1 to have SSL_VERIFY_PEER, ie, check the server certificate. of host1
Host2: SSL default mode is like --sslargs2 "SSL_verify_mode=0", meaning for host2 SSL_VERIFY_NONE, ie, do not check the server certificate.
Host2: Use --sslargs2 SSL_verify_mode=1 to have SSL_VERIFY_PEER, ie, check the server certificate. of host2
Info: turned ON syncinternaldates, will set the internal dates (arrival dates) on host2 same as host1.
Host1: will try to use PLAIN authentication on host1
Host2: will try to use PLAIN authentication on host2
Host1: imap connection timeout is 120 seconds
Host2: imap connection timeout is 120 seconds
Host1: imap connection keepalive is on on host1. Use --nokeepalive1 to disable it.
Host2: imap connection keepalive is on on host2. Use --nokeepalive2 to disable it.
Host1: IMAP server [IP_ZIMBRA_SERVER] port [993] user [test.user1@sampleserver.xyz]
Host2: IMAP server [IP_CARBONIO_SERVER] port [993] user [test.user1@sampleserver.xyz]
Host1: connecting and login on host1 [IP_ZIMBRA_SERVER] port [993] with user [test.user1@sampleserver.xyz]
Host1 IP address: IP_ZIMBRA_SERVER Local IP address: 172.17.0.2
Host1 banner: * OK IMAP4rev1 proxy server ready
Host1 capability before authentication: ACL BINARY CATENATE CHILDREN CONDSTORE ENABLE ESEARCH ESORT I18NLEVEL=1 ID IDLE IMAP4rev1 LIST-EXTENDED LIST-STATUS LITERAL+ MULTIAPPEND NAMESPACE QRESYNC QUOTA RIGHTS=ektx SASL-IR SEARCHRES SORT THREAD=ORDEREDSUBJECT UIDPLUS UNSELECT WITHIN XLIST AUTH=PLAIN I18NLEVEL RIGHTS THREAD AUTH
Host1: IP_ZIMBRA_SERVER says it has CAPABILITY for AUTHENTICATE PLAIN
Host1: success login on [IP_ZIMBRA_SERVER] with user [test.user1@sampleserver.xyz] auth [PLAIN] or [LOGIN]
Host2: connecting and login on host2 [IP_CARBONIO_SERVER] port [993] with user [test.user1@sampleserver.xyz]
Host2 IP address: IP_CARBONIO_SERVER Local IP address: 172.17.0.2
Host2 banner: * OK IMAP4rev1 proxy server ready
Host2 capability before authentication: ACL BINARY CATENATE CHILDREN CONDSTORE ENABLE ESEARCH ESORT I18NLEVEL=1 ID IDLE IMAP4rev1 LIST-EXTENDED LIST-STATUS LITERAL+ MULTIAPPEND NAMESPACE QRESYNC QUOTA RIGHTS=ektx SASL-IR SEARCHRES SORT THREAD=ORDEREDSUBJECT UIDPLUS UNSELECT WITHIN XLIST AUTH=PLAIN I18NLEVEL RIGHTS THREAD AUTH
Host2: IP_CARBONIO_SERVER says it has CAPABILITY for AUTHENTICATE PLAIN
Host2: success login on [IP_CARBONIO_SERVER] with user [test.user1@sampleserver.xyz] auth [PLAIN] or [LOGIN]
Host1: state Authenticated
Host2: state Authenticated
Host1 capability once authenticated: IMAP4rev1 ACL BINARY CATENATE CHILDREN CONDSTORE ENABLE ESEARCH ESORT I18NLEVEL=1 ID IDLE LIST-EXTENDED LIST-STATUS LITERAL+ LOGIN-REFERRALS MULTIAPPEND NAMESPACE QRESYNC QUOTA RIGHTS=ektx SASL-IR SEARCHRES SORT THREAD=ORDEREDSUBJECT UIDPLUS UNSELECT WITHIN XLIST I18NLEVEL RIGHTS THREAD
Host2 capability once authenticated: IMAP4rev1 ACL BINARY CATENATE CHILDREN CONDSTORE ENABLE ESEARCH ESORT I18NLEVEL=1 ID IDLE LIST-EXTENDED LIST-STATUS LITERAL+ LOGIN-REFERRALS MULTIAPPEND NAMESPACE QRESYNC QUOTA RIGHTS=ektx SASL-IR SEARCHRES SORT THREAD=ORDEREDSUBJECT UIDPLUS UNSELECT WITHIN XLIST I18NLEVEL RIGHTS THREAD
Host1: found ID capability. Sending/receiving ID, presented in raw IMAP for now.
In order to avoid sending/receiving ID, use option --noid
Sending: 4 ID ("name" "imapsync" "version" "2.229" "os" "linux" "vendor" "Gilles LAMIRAL" "support-url" "https://imapsync.lamiral.info/" "date" "14-Sep-2022 18:08:24 +0000" "side" "host1")
Sent 181 bytes
Read:   * ID ("NAME" "Zimbra" "VERSION" "8.8.15_GA_4545" "RELEASE" "20230516032547" "USER" "test.user1@sampleserver.xyz" "SERVER" "1b191b1b-6e24-4fa0-8970-817b28344621")
        4 OK ID completed
Host2: found ID capability. Sending/receiving ID, presented in raw IMAP for now.
In order to avoid sending/receiving ID, use option --noid
Sending: 4 ID ("name" "imapsync" "version" "2.229" "os" "linux" "vendor" "Gilles LAMIRAL" "support-url" "https://imapsync.lamiral.info/" "date" "14-Sep-2022 18:08:24 +0000" "side" "host2")
Sent 181 bytes
Read:   * ID ("NAME" "Zimbra" "VERSION" "23.6.0_ZEXTRAS_202306" "RELEASE" "carbonio" "USER" "test.user1@sampleserver.xyz" "SERVER" "14f20077-ec53-47cb-994c-56bfc66fe623")
        4 OK ID completed

Host2: QUOTA capability found, presented in raw IMAP on next lines
Sending: 5 GETQUOTAROOT INBOX
Sent 22 bytes
Read:   * QUOTAROOT "INBOX"
        5 OK GETQUOTAROOT completed

Host2: Quota current storage is 0 bytes. Limit is 0 bytes. So 0 % full
Host1: Compression is off. Use --compress1 to allow compression on host1
Host2: Compression is off. Use --compress2 to allow compression on host2
Host1: found 9 folders.
Host2: found 5 folders.
Host1: guessing separator from folder listing: [/]
Host1: separator given by NAMESPACE: [/]
Host2: guessing separator from folder listing: [/]
Host2: separator given by NAMESPACE: [/]
Host1: guessing prefix from folder listing: []
Host1: prefix given by NAMESPACE: []
Host2: guessing prefix from folder listing: []
Host2: prefix given by NAMESPACE: []
Host1: separator and prefix: [/][]
Host2: separator and prefix: [/][]
Including all folders found by default. Use --subscribed or --folder or --folderrec or --include to select specific folders. Use --exclude to unselect specific folders.
Host1: Checking wanted folders exist. Use --nocheckfoldersexist to avoid this check (shared of public namespace targeted).
Host1: Checking wanted folders are selectable. Use --nocheckselectable to avoid this check.
Turned off automapping folders ( use --automap to turn on automapping )

++++ Listing folders
All foldernames are presented between brackets like [X] where X is the foldername.
When a foldername contains non-ASCII characters it is presented in the form
[X] = [Y] where
X is the imap foldername you have to use in command line options and
Y is the utf8 output just printed for convenience, to recognize it.

Host1: folders list (first the raw imap format then the [X] = [Y]):
* LIST (\HasNoChildren \Drafts) "/" "Drafts"
* LIST (\HasNoChildren) "/" "Gmail"
* LIST (\HasNoChildren) "/" "INBOX"
* LIST (\NoInferiors \Junk) "/" "Junk"
* LIST (\HasNoChildren \Sent) "/" "Sent"
* LIST (\HasNoChildren) "/" "Stakeholder"
* LIST (\HasNoChildren) "/" "Team"
* LIST (\HasNoChildren \Trash) "/" "Trash"
* LIST (\HasNoChildren) "/" "Yahoo"
18 OK LIST completed

[Drafts]
[Gmail]
[INBOX]
[Junk]
[Sent]
[Stakeholder]
[Team]
[Trash]
[Yahoo]

Host2: folders list (first the raw imap format then the [X] = [Y]):
* LIST (\HasNoChildren \Drafts) "/" "Drafts"
* LIST (\HasNoChildren) "/" "INBOX"
* LIST (\NoInferiors \Junk) "/" "Junk"
* LIST (\HasNoChildren \Sent) "/" "Sent"
* LIST (\HasNoChildren \Trash) "/" "Trash"
10 OK LIST completed

[Drafts]
[INBOX]
[Junk]
[Sent]
[Trash]

Checking SEARCH ALL works on both accounts. To avoid that check, use --nochecknoabletosearch
Host1: checking if SEARCH ALL works on INBOX
Host1: folder [INBOX] has 105 messages mentioned by SELECT
Host1: folder [INBOX] has 105 messages found by SEARCH ALL
Host1: folder [INBOX] has the same messages count (105) by SELECT and SEARCH ALL
Host2: checking if SEARCH ALL works on INBOX
Host2: folder [INBOX] has 0 messages mentioned by SELECT
Host2: folder [INBOX] has 0 messages found by SEARCH ALL
Host2: folder [INBOX] has the same messages count (0) by SELECT and SEARCH ALL
Good! SEARCH ALL works on both accounts.

Folders sizes before the synchronization. It can take some time. Be patient.
You can remove foldersizes listings by using "--nofoldersizes" and "--nofoldersizesatend"
but then you will also lose the ETA (Estimation Time of Arrival) given after each message copy.
Host1 folder     1/9 [Drafts]                            Size:         0 Messages:     0 Biggest:         0
Host2 folder     1/9 [Drafts]                            Size:         0 Messages:     0 Biggest:         0
Host2-Host1                                                            0               0                  0

Host1 folder     2/9 [Gmail]                             Size:         0 Messages:     0 Biggest:         0
Host2 folder     2/9 [Gmail]                              does not exist yet
Host2-Host1                                                            0               0                  0

Host1 folder     3/9 [INBOX]                             Size:   3706250 Messages:   105 Biggest:     55610
Host2 folder     3/9 [INBOX]                             Size:         0 Messages:     0 Biggest:         0
Host2-Host1                                                     -3706250            -105             -55610

Host1 folder     4/9 [Junk]                              Size:         0 Messages:     0 Biggest:         0
Host2 folder     4/9 [Junk]                              Size:         0 Messages:     0 Biggest:         0
Host2-Host1                                                            0               0                  0

Host1 folder     5/9 [Sent]                              Size:         0 Messages:     0 Biggest:         0
Host2 folder     5/9 [Sent]                              Size:         0 Messages:     0 Biggest:         0
Host2-Host1                                                            0               0                  0

Host1 folder     6/9 [Stakeholder]                       Size:         0 Messages:     0 Biggest:         0
Host2 folder     6/9 [Stakeholder]                        does not exist yet
Host2-Host1                                                            0               0                  0

Host1 folder     7/9 [Team]                              Size:         0 Messages:     0 Biggest:         0
Host2 folder     7/9 [Team]                               does not exist yet
Host2-Host1                                                            0               0                  0

Host1 folder     8/9 [Trash]                             Size:         0 Messages:     0 Biggest:         0
Host2 folder     8/9 [Trash]                             Size:         0 Messages:     0 Biggest:         0
Host2-Host1                                                            0               0                  0

Host1 folder     9/9 [Yahoo]                             Size:         0 Messages:     0 Biggest:         0
Host2 folder     9/9 [Yahoo]                              does not exist yet
Host2-Host1                                                            0               0                  0

Host1 Nb folders:                     9 folders
Host2 Nb folders:                     9 folders

Host1 Nb messages:                  105 messages
Host2 Nb messages:                    0 messages

Host1 Total size:               3706250 bytes (3.535 MiB)
Host2 Total size:                     0 bytes (0.000 KiB)

Host1 Biggest message:            55610 bytes (54.307 KiB)
Host2 Biggest message:                0 bytes (0.000 KiB)

Time spent on sizing:         3.5 seconds
++++ Looping on each one of 9 folders to sync
ETA: Sunday 16 July 2023-07-16 17:02:11 +0000 UTC  0 s  105/105 msgs left
Folder     1/9 [Drafts]                            -> [Drafts]
Host1: folder [Drafts] has 0 messages in total (mentioned by SELECT)
Host2: folder [Drafts] has 0 messages in total (mentioned by SELECT)
Host2: folder [Drafts] permanentflags:
Host1: folder [Drafts] considering 0 messages
Host2: folder [Drafts] considering 0 messages
Host1: folder [Drafts] selected 0 messages, duplicates 0
Host2: folder [Drafts] selected 0 messages, duplicates 0
ETA: Sunday 16 July 2023-07-16 17:02:22 +0000 UTC  11 s  105/105 msgs left
Folder     2/9 [Gmail]                             -> [Gmail]
Host1: folder [Gmail] has 0 messages in total (mentioned by SELECT)
Creating folder [Gmail] on host2
Created folder [Gmail] on host2
Host2: folder [Gmail] has 0 messages in total (mentioned by SELECT)
Host2: folder [Gmail] permanentflags:
Host1: folder [Gmail] considering 0 messages
Host2: folder [Gmail] considering 0 messages
Host1: folder [Gmail] selected 0 messages, duplicates 0
Host2: folder [Gmail] selected 0 messages, duplicates 0
ETA: Sunday 16 July 2023-07-16 17:02:31 +0000 UTC  20 s  105/105 msgs left
Folder     3/9 [INBOX]                             -> [INBOX]
Host1: folder [INBOX] has 105 messages in total (mentioned by SELECT)
Host2: folder [INBOX] has 0 messages in total (mentioned by SELECT)
Host2: folder [INBOX] permanentflags:
Host1: folder [INBOX] considering 105 messages
Host2: folder [INBOX] considering 0 messages
Host1: folder [INBOX] selected 105 messages, duplicates 0
Host2: folder [INBOX] selected 0 messages, duplicates 0
msg INBOX/446 {19544}         copied to INBOX/258        0.50 msgs/s  9.622 KiB/s 19.086 KiB copied ETA: Sunday 16 July 2023-07-16 17:05:39 +0000 UTC  206 s  104/105 msgs left
msg INBOX/447 {19546}         copied to INBOX/259        0.97 msgs/s  18.606 KiB/s 38.174 KiB copied ETA: Sunday 16 July 2023-07-16 17:03:59 +0000 UTC  106 s  103/105 msgs left
msg INBOX/448 {19548}         copied to INBOX/260        1.43 msgs/s  27.242 KiB/s 57.264 KiB copied ETA: Sunday 16 July 2023-07-16 17:03:24 +0000 UTC  71 s  102/105 msgs left
msg INBOX/449 {19546}         copied to INBOX/261        1.81 msgs/s  34.541 KiB/s 76.352 KiB copied ETA: Sunday 16 July 2023-07-16 17:03:09 +0000 UTC  56 s  101/105 msgs left
msg INBOX/450 {19546}         copied to INBOX/262        2.16 msgs/s  41.154 KiB/s 95.439 KiB copied ETA: Sunday 16 July 2023-07-16 17:03:00 +0000 UTC  46 s  100/105 msgs left
msg INBOX/451 {19542}         copied to INBOX/263        2.43 msgs/s  46.323 KiB/s 114.523 KiB copied ETA: Sunday 16 July 2023-07-16 17:02:54 +0000 UTC  41 s  99/105 msgs left
msg INBOX/452 {55606}         copied to INBOX/264        2.72 msgs/s  65.712 KiB/s 168.826 KiB copied ETA: Sunday 16 July 2023-07-16 17:02:49 +0000 UTC  36 s  98/105 msgs left
msg INBOX/453 {55606}         copied to INBOX/265        2.96 msgs/s  82.483 KiB/s 223.129 KiB copied ETA: Sunday 16 July 2023-07-16 17:02:46 +0000 UTC  33 s  97/105 msgs left
msg INBOX/454 {19546}         copied to INBOX/266        3.17 msgs/s  85.341 KiB/s 242.217 KiB copied ETA: Sunday 16 July 2023-07-16 17:02:44 +0000 UTC  30 s  96/105 msgs left
msg INBOX/455 {55606}         copied to INBOX/267        3.41 msgs/s  101.105 KiB/s 296.520 KiB copied ETA: Sunday 16 July 2023-07-16 17:02:42 +0000 UTC  28 s  95/105 msgs left
msg INBOX/456 {19546}         copied to INBOX/268        3.63 msgs/s  104.045 KiB/s 315.607 KiB copied ETA: Sunday 16 July 2023-07-16 17:02:40 +0000 UTC  26 s  94/105 msgs left
msg INBOX/457 {55606}         copied to INBOX/269        3.86 msgs/s  119.077 KiB/s 369.910 KiB copied ETA: Sunday 16 July 2023-07-16 17:02:38 +0000 UTC  24 s  93/105 msgs left
msg INBOX/458 {19542}         copied to INBOX/270        4.05 msgs/s  121.120 KiB/s 388.994 KiB copied ETA: Sunday 16 July 2023-07-16 17:02:37 +0000 UTC  23 s  92/105 msgs left
msg INBOX/459 {19542}         copied to INBOX/271        4.23 msgs/s  123.218 KiB/s 408.078 KiB copied ETA: Sunday 16 July 2023-07-16 17:02:36 +0000 UTC  22 s  91/105 msgs left
msg INBOX/460 {55606}         copied to INBOX/272        4.44 msgs/s  137.012 KiB/s 462.381 KiB copied ETA: Sunday 16 July 2023-07-16 17:02:34 +0000 UTC  20 s  90/105 msgs left
msg INBOX/461 {19546}         copied to INBOX/273        4.61 msgs/s  138.865 KiB/s 481.469 KiB copied ETA: Sunday 16 July 2023-07-16 17:02:34 +0000 UTC  19 s  89/105 msgs left
msg INBOX/462 {55610}         copied to INBOX/274        4.78 msgs/s  150.641 KiB/s 535.775 KiB copied ETA: Sunday 16 July 2023-07-16 17:02:33 +0000 UTC  18 s  88/105 msgs left
msg INBOX/463 {19542}         copied to INBOX/275        4.94 msgs/s  152.236 KiB/s 554.859 KiB copied ETA: Sunday 16 July 2023-07-16 17:02:32 +0000 UTC  18 s  87/105 msgs left
msg INBOX/464 {55610}         copied to INBOX/276        5.09 msgs/s  163.182 KiB/s 609.166 KiB copied ETA: Sunday 16 July 2023-07-16 17:02:31 +0000 UTC  17 s  86/105 msgs left
msg INBOX/465 {19542}         copied to INBOX/277        5.16 msgs/s  162.180 KiB/s 628.250 KiB copied ETA: Sunday 16 July 2023-07-16 17:02:31 +0000 UTC  16 s  85/105 msgs left
msg INBOX/466 {55606}         copied to INBOX/278        5.35 msgs/s  173.804 KiB/s 682.553 KiB copied ETA: Sunday 16 July 2023-07-16 17:02:30 +0000 UTC  16 s  84/105 msgs left
msg INBOX/467 {55606}         copied to INBOX/279        5.54 msgs/s  185.539 KiB/s 736.855 KiB copied ETA: Sunday 16 July 2023-07-16 17:02:30 +0000 UTC  15 s  83/105 msgs left
msg INBOX/468 {19546}         copied to INBOX/280        5.49 msgs/s  180.408 KiB/s 755.943 KiB copied ETA: Sunday 16 July 2023-07-16 17:02:30 +0000 UTC  15 s  82/105 msgs left
msg INBOX/469 {19542}         copied to INBOX/281        5.59 msgs/s  180.615 KiB/s 775.027 KiB copied ETA: Sunday 16 July 2023-07-16 17:02:30 +0000 UTC  14 s  81/105 msgs left
msg INBOX/470 {55610}         copied to INBOX/282        5.76 msgs/s  191.070 KiB/s 829.334 KiB copied ETA: Sunday 16 July 2023-07-16 17:02:29 +0000 UTC  14 s  80/105 msgs left
msg INBOX/471 {55606}         copied to INBOX/283        5.91 msgs/s  200.934 KiB/s 883.637 KiB copied ETA: Sunday 16 July 2023-07-16 17:02:29 +0000 UTC  13 s  79/105 msgs left
msg INBOX/472 {19542}         copied to INBOX/284        6.01 msgs/s  201.040 KiB/s 902.721 KiB copied ETA: Sunday 16 July 2023-07-16 17:02:28 +0000 UTC  13 s  78/105 msgs left
msg INBOX/473 {19542}         copied to INBOX/285        6.15 msgs/s  202.346 KiB/s 921.805 KiB copied ETA: Sunday 16 July 2023-07-16 17:02:28 +0000 UTC  13 s  77/105 msgs left
msg INBOX/474 {55610}         copied to INBOX/286        5.69 msgs/s  191.543 KiB/s 976.111 KiB copied ETA: Sunday 16 July 2023-07-16 17:02:29 +0000 UTC  13 s  76/105 msgs left
msg INBOX/475 {19546}         copied to INBOX/287        5.82 msgs/s  193.138 KiB/s 995.199 KiB copied ETA: Sunday 16 July 2023-07-16 17:02:29 +0000 UTC  13 s  75/105 msgs left
msg INBOX/476 {55610}         copied to INBOX/288        5.96 msgs/s  201.676 KiB/s 1.025 MiB copied ETA: Sunday 16 July 2023-07-16 17:02:28 +0000 UTC  12 s  74/105 msgs left
msg INBOX/477 {19542}         copied to INBOX/289        6.04 msgs/s  201.580 KiB/s 1.044 MiB copied ETA: Sunday 16 July 2023-07-16 17:02:28 +0000 UTC  12 s  73/105 msgs left
msg INBOX/478 {55606}         copied to INBOX/290        6.17 msgs/s  209.861 KiB/s 1.097 MiB copied ETA: Sunday 16 July 2023-07-16 17:02:28 +0000 UTC  12 s  72/105 msgs left
msg INBOX/479 {19546}         copied to INBOX/291        6.26 msgs/s  210.378 KiB/s 1.115 MiB copied ETA: Sunday 16 July 2023-07-16 17:02:28 +0000 UTC  11 s  71/105 msgs left
msg INBOX/480 {55610}         copied to INBOX/292        6.42 msgs/s  219.281 KiB/s 1.168 MiB copied ETA: Sunday 16 July 2023-07-16 17:02:27 +0000 UTC  11 s  70/105 msgs left
msg INBOX/481 {19546}         copied to INBOX/293        6.46 msgs/s  218.100 KiB/s 1.187 MiB copied ETA: Sunday 16 July 2023-07-16 17:02:27 +0000 UTC  11 s  69/105 msgs left
msg INBOX/482 {55606}         copied to INBOX/294        6.54 msgs/s  224.329 KiB/s 1.240 MiB copied ETA: Sunday 16 July 2023-07-16 17:02:27 +0000 UTC  10 s  68/105 msgs left
msg INBOX/483 {19542}         copied to INBOX/295        6.58 msgs/s  223.030 KiB/s 1.259 MiB copied ETA: Sunday 16 July 2023-07-16 17:02:27 +0000 UTC  10 s  67/105 msgs left
msg INBOX/484 {55610}         copied to INBOX/296        6.70 msgs/s  230.752 KiB/s 1.312 MiB copied ETA: Sunday 16 July 2023-07-16 17:02:26 +0000 UTC  10 s  66/105 msgs left
msg INBOX/485 {19542}         copied to INBOX/297        6.74 msgs/s  229.578 KiB/s 1.330 MiB copied ETA: Sunday 16 July 2023-07-16 17:02:26 +0000 UTC  10 s  65/105 msgs left
msg INBOX/486 {55610}         copied to INBOX/298        6.81 msgs/s  235.210 KiB/s 1.383 MiB copied ETA: Sunday 16 July 2023-07-16 17:02:26 +0000 UTC  9 s  64/105 msgs left
msg INBOX/487 {55606}         copied to INBOX/299        6.90 msgs/s  241.651 KiB/s 1.436 MiB copied ETA: Sunday 16 July 2023-07-16 17:02:26 +0000 UTC  9 s  63/105 msgs left
msg INBOX/488 {19546}         copied to INBOX/300        6.61 msgs/s  229.040 KiB/s 1.455 MiB copied ETA: Sunday 16 July 2023-07-16 17:02:27 +0000 UTC  9 s  62/105 msgs left
msg INBOX/489 {55606}         copied to INBOX/301        6.62 msgs/s  232.445 KiB/s 1.508 MiB copied ETA: Sunday 16 July 2023-07-16 17:02:27 +0000 UTC  9 s  61/105 msgs left
msg INBOX/490 {19542}         copied to INBOX/302        6.72 msgs/s  233.408 KiB/s 1.527 MiB copied ETA: Sunday 16 July 2023-07-16 17:02:26 +0000 UTC  9 s  60/105 msgs left
msg INBOX/491 {19546}         copied to INBOX/303        6.73 msgs/s  231.631 KiB/s 1.545 MiB copied ETA: Sunday 16 July 2023-07-16 17:02:26 +0000 UTC  9 s  59/105 msgs left
msg INBOX/492 {55606}         copied to INBOX/304        6.75 msgs/s  234.953 KiB/s 1.598 MiB copied ETA: Sunday 16 July 2023-07-16 17:02:26 +0000 UTC  9 s  58/105 msgs left
msg INBOX/493 {19546}         copied to INBOX/305        6.72 msgs/s  231.924 KiB/s 1.617 MiB copied ETA: Sunday 16 July 2023-07-16 17:02:26 +0000 UTC  8 s  57/105 msgs left
msg INBOX/494 {55610}         copied to INBOX/306        6.81 msgs/s  237.484 KiB/s 1.670 MiB copied ETA: Sunday 16 July 2023-07-16 17:02:26 +0000 UTC  8 s  56/105 msgs left
msg INBOX/495 {55610}         copied to INBOX/307        6.89 msgs/s  243.114 KiB/s 1.723 MiB copied ETA: Sunday 16 July 2023-07-16 17:02:26 +0000 UTC  8 s  55/105 msgs left
msg INBOX/496 {19542}         copied to INBOX/308        6.90 msgs/s  241.267 KiB/s 1.742 MiB copied ETA: Sunday 16 July 2023-07-16 17:02:26 +0000 UTC  8 s  54/105 msgs left
msg INBOX/497 {19546}         copied to INBOX/309        6.96 msgs/s  241.341 KiB/s 1.760 MiB copied ETA: Sunday 16 July 2023-07-16 17:02:26 +0000 UTC  8 s  53/105 msgs left
msg INBOX/498 {55610}         copied to INBOX/310        7.00 msgs/s  245.410 KiB/s 1.813 MiB copied ETA: Sunday 16 July 2023-07-16 17:02:26 +0000 UTC  7 s  52/105 msgs left
msg INBOX/499 {55606}         copied to INBOX/311        7.07 msgs/s  250.263 KiB/s 1.866 MiB copied ETA: Sunday 16 July 2023-07-16 17:02:26 +0000 UTC  7 s  51/105 msgs left
msg INBOX/500 {19546}         copied to INBOX/312        7.16 msgs/s  251.438 KiB/s 1.885 MiB copied ETA: Sunday 16 July 2023-07-16 17:02:25 +0000 UTC  7 s  50/105 msgs left
msg INBOX/501 {55606}         copied to INBOX/313        7.21 msgs/s  255.516 KiB/s 1.938 MiB copied ETA: Sunday 16 July 2023-07-16 17:02:25 +0000 UTC  7 s  49/105 msgs left
msg INBOX/502 {19542}         copied to INBOX/314        7.25 msgs/s  254.886 KiB/s 1.957 MiB copied ETA: Sunday 16 July 2023-07-16 17:02:25 +0000 UTC  7 s  48/105 msgs left
msg INBOX/503 {55606}         copied to INBOX/315        7.31 msgs/s  259.407 KiB/s 2.010 MiB copied ETA: Sunday 16 July 2023-07-16 17:02:25 +0000 UTC  6 s  47/105 msgs left
msg INBOX/504 {19546}         copied to INBOX/316        7.35 msgs/s  258.691 KiB/s 2.028 MiB copied ETA: Sunday 16 July 2023-07-16 17:02:25 +0000 UTC  6 s  46/105 msgs left
msg INBOX/505 {19542}         copied to INBOX/317        7.37 msgs/s  257.390 KiB/s 2.047 MiB copied ETA: Sunday 16 July 2023-07-16 17:02:25 +0000 UTC  6 s  45/105 msgs left
msg INBOX/506 {55610}         copied to INBOX/318        7.36 msgs/s  259.416 KiB/s 2.100 MiB copied ETA: Sunday 16 July 2023-07-16 17:02:25 +0000 UTC  6 s  44/105 msgs left
msg INBOX/507 {19546}         copied to INBOX/319        7.27 msgs/s  254.460 KiB/s 2.119 MiB copied ETA: Sunday 16 July 2023-07-16 17:02:25 +0000 UTC  6 s  43/105 msgs left
msg INBOX/508 {55610}         copied to INBOX/320        7.32 msgs/s  258.549 KiB/s 2.172 MiB copied ETA: Sunday 16 July 2023-07-16 17:02:25 +0000 UTC  6 s  42/105 msgs left
msg INBOX/509 {19546}         copied to INBOX/321        7.29 msgs/s  255.480 KiB/s 2.190 MiB copied ETA: Sunday 16 July 2023-07-16 17:02:25 +0000 UTC  6 s  41/105 msgs left
msg INBOX/510 {55610}         copied to INBOX/322        7.34 msgs/s  259.500 KiB/s 2.243 MiB copied ETA: Sunday 16 July 2023-07-16 17:02:25 +0000 UTC  5 s  40/105 msgs left
msg INBOX/511 {19542}         copied to INBOX/323        7.36 msgs/s  258.437 KiB/s 2.262 MiB copied ETA: Sunday 16 July 2023-07-16 17:02:25 +0000 UTC  5 s  39/105 msgs left
msg INBOX/512 {55610}         copied to INBOX/324        7.44 msgs/s  263.338 KiB/s 2.315 MiB copied ETA: Sunday 16 July 2023-07-16 17:02:25 +0000 UTC  5 s  38/105 msgs left
msg INBOX/513 {19546}         copied to INBOX/325        7.48 msgs/s  262.925 KiB/s 2.334 MiB copied ETA: Sunday 16 July 2023-07-16 17:02:25 +0000 UTC  5 s  37/105 msgs left
msg INBOX/514 {55610}         copied to INBOX/326        7.56 msgs/s  267.699 KiB/s 2.387 MiB copied ETA: Sunday 16 July 2023-07-16 17:02:25 +0000 UTC  5 s  36/105 msgs left
msg INBOX/515 {19538}         copied to INBOX/327        7.55 msgs/s  265.664 KiB/s 2.405 MiB copied ETA: Sunday 16 July 2023-07-16 17:02:25 +0000 UTC  5 s  35/105 msgs left
msg INBOX/516 {55606}         copied to INBOX/328        7.61 msgs/s  269.714 KiB/s 2.458 MiB copied ETA: Sunday 16 July 2023-07-16 17:02:25 +0000 UTC  4 s  34/105 msgs left
msg INBOX/517 {55606}         copied to INBOX/329        7.64 msgs/s  272.893 KiB/s 2.511 MiB copied ETA: Sunday 16 July 2023-07-16 17:02:25 +0000 UTC  4 s  33/105 msgs left
msg INBOX/518 {19542}         copied to INBOX/330        7.64 msgs/s  271.014 KiB/s 2.530 MiB copied ETA: Sunday 16 July 2023-07-16 17:02:25 +0000 UTC  4 s  32/105 msgs left
msg INBOX/519 {55610}         copied to INBOX/331        7.69 msgs/s  274.741 KiB/s 2.583 MiB copied ETA: Sunday 16 July 2023-07-16 17:02:24 +0000 UTC  4 s  31/105 msgs left
msg INBOX/520 {19546}         copied to INBOX/332        7.72 msgs/s  274.250 KiB/s 2.602 MiB copied ETA: Sunday 16 July 2023-07-16 17:02:24 +0000 UTC  4 s  30/105 msgs left
msg INBOX/521 {55606}         copied to INBOX/333        7.79 msgs/s  278.472 KiB/s 2.655 MiB copied ETA: Sunday 16 July 2023-07-16 17:02:24 +0000 UTC  4 s  29/105 msgs left
msg INBOX/522 {19546}         copied to INBOX/334        7.82 msgs/s  277.888 KiB/s 2.673 MiB copied ETA: Sunday 16 July 2023-07-16 17:02:24 +0000 UTC  4 s  28/105 msgs left
msg INBOX/523 {19546}         copied to INBOX/335        7.85 msgs/s  277.367 KiB/s 2.692 MiB copied ETA: Sunday 16 July 2023-07-16 17:02:24 +0000 UTC  3 s  27/105 msgs left
msg INBOX/524 {55610}         copied to INBOX/336        7.92 msgs/s  281.869 KiB/s 2.745 MiB copied ETA: Sunday 16 July 2023-07-16 17:02:24 +0000 UTC  3 s  26/105 msgs left
msg INBOX/525 {55610}         copied to INBOX/337        7.99 msgs/s  286.063 KiB/s 2.798 MiB copied ETA: Sunday 16 July 2023-07-16 17:02:24 +0000 UTC  3 s  25/105 msgs left
msg INBOX/526 {19542}         copied to INBOX/338        8.00 msgs/s  284.782 KiB/s 2.817 MiB copied ETA: Sunday 16 July 2023-07-16 17:02:24 +0000 UTC  3 s  24/105 msgs left
msg INBOX/527 {19542}         copied to INBOX/339        7.95 msgs/s  281.474 KiB/s 2.835 MiB copied ETA: Sunday 16 July 2023-07-16 17:02:24 +0000 UTC  3 s  23/105 msgs left
msg INBOX/528 {55610}         copied to INBOX/340        8.02 msgs/s  285.813 KiB/s 2.888 MiB copied ETA: Sunday 16 July 2023-07-16 17:02:24 +0000 UTC  3 s  22/105 msgs left
msg INBOX/529 {19506}         copied to INBOX/341        8.02 msgs/s  284.166 KiB/s 2.907 MiB copied ETA: Sunday 16 July 2023-07-16 17:02:24 +0000 UTC  3 s  21/105 msgs left
msg INBOX/530 {55574}         copied to INBOX/342        8.06 msgs/s  287.579 KiB/s 2.960 MiB copied ETA: Sunday 16 July 2023-07-16 17:02:24 +0000 UTC  2 s  20/105 msgs left
msg INBOX/531 {55574}         copied to INBOX/343        8.11 msgs/s  291.109 KiB/s 3.013 MiB copied ETA: Sunday 16 July 2023-07-16 17:02:24 +0000 UTC  2 s  19/105 msgs left
msg INBOX/532 {19506}         copied to INBOX/344        8.16 msgs/s  291.085 KiB/s 3.032 MiB copied ETA: Sunday 16 July 2023-07-16 17:02:24 +0000 UTC  2 s  18/105 msgs left
msg INBOX/533 {19510}         copied to INBOX/345        8.19 msgs/s  290.677 KiB/s 3.050 MiB copied ETA: Sunday 16 July 2023-07-16 17:02:24 +0000 UTC  2 s  17/105 msgs left
msg INBOX/534 {55574}         copied to INBOX/346        8.25 msgs/s  294.578 KiB/s 3.103 MiB copied ETA: Sunday 16 July 2023-07-16 17:02:24 +0000 UTC  2 s  16/105 msgs left
msg INBOX/535 {55574}         copied to INBOX/347        8.31 msgs/s  298.553 KiB/s 3.156 MiB copied ETA: Sunday 16 July 2023-07-16 17:02:23 +0000 UTC  2 s  15/105 msgs left
msg INBOX/536 {19510}         copied to INBOX/348        8.31 msgs/s  296.738 KiB/s 3.175 MiB copied ETA: Sunday 16 July 2023-07-16 17:02:23 +0000 UTC  2 s  14/105 msgs left
msg INBOX/537 {55574}         copied to INBOX/349        8.37 msgs/s  300.842 KiB/s 3.228 MiB copied ETA: Sunday 16 July 2023-07-16 17:02:23 +0000 UTC  2 s  13/105 msgs left
msg INBOX/538 {19510}         copied to INBOX/350        8.38 msgs/s  299.571 KiB/s 3.246 MiB copied ETA: Sunday 16 July 2023-07-16 17:02:23 +0000 UTC  1 s  12/105 msgs left
msg INBOX/539 {55574}         copied to INBOX/351        8.43 msgs/s  302.817 KiB/s 3.299 MiB copied ETA: Sunday 16 July 2023-07-16 17:02:23 +0000 UTC  1 s  11/105 msgs left
msg INBOX/540 {19506}         copied to INBOX/352        8.49 msgs/s  303.630 KiB/s 3.318 MiB copied ETA: Sunday 16 July 2023-07-16 17:02:23 +0000 UTC  1 s  10/105 msgs left
msg INBOX/541 {21906}         copied to INBOX/353        8.50 msgs/s  302.684 KiB/s 3.339 MiB copied ETA: Sunday 16 July 2023-07-16 17:02:23 +0000 UTC  1 s  9/105 msgs left
msg INBOX/542 {3784}          copied to INBOX/354        8.51 msgs/s  300.441 KiB/s 3.342 MiB copied ETA: Sunday 16 July 2023-07-16 17:02:23 +0000 UTC  1 s  8/105 msgs left
msg INBOX/543 {19506}         copied to INBOX/355        8.57 msgs/s  301.019 KiB/s 3.361 MiB copied ETA: Sunday 16 July 2023-07-16 17:02:23 +0000 UTC  1 s  7/105 msgs left
msg INBOX/544 {55570}         copied to INBOX/356        8.56 msgs/s  302.178 KiB/s 3.414 MiB copied ETA: Sunday 16 July 2023-07-16 17:02:23 +0000 UTC  1 s  6/105 msgs left
msg INBOX/545 {3752}          copied to INBOX/357        8.51 msgs/s  297.973 KiB/s 3.418 MiB copied ETA: Sunday 16 July 2023-07-16 17:02:23 +0000 UTC  1 s  5/105 msgs left
msg INBOX/546 {21881}         copied to INBOX/358        8.52 msgs/s  297.128 KiB/s 3.439 MiB copied ETA: Sunday 16 July 2023-07-16 17:02:23 +0000 UTC  0 s  4/105 msgs left
msg INBOX/547 {19506}         copied to INBOX/359        8.45 msgs/s  293.439 KiB/s 3.457 MiB copied ETA: Sunday 16 July 2023-07-16 17:02:23 +0000 UTC  0 s  3/105 msgs left
msg INBOX/548 {55570}         copied to INBOX/360        8.46 msgs/s  295.108 KiB/s 3.510 MiB copied ETA: Sunday 16 July 2023-07-16 17:02:23 +0000 UTC  0 s  2/105 msgs left
msg INBOX/549 {21879}         copied to INBOX/361        8.48 msgs/s  294.889 KiB/s 3.531 MiB copied ETA: Sunday 16 July 2023-07-16 17:02:23 +0000 UTC  0 s  1/105 msgs left
msg INBOX/550 {3750}          copied to INBOX/362        8.53 msgs/s  294.054 KiB/s 3.535 MiB copied ETA: Sunday 16 July 2023-07-16 17:02:23 +0000 UTC  0 s  0/105 msgs left
ETA: Sunday 16 July 2023-07-16 17:02:23 +0000 UTC  0 s  0/105 msgs left
Folder     4/9 [Junk]                              -> [Junk]
Host1: folder [Junk] has 0 messages in total (mentioned by SELECT)
Host2: folder [Junk] has 0 messages in total (mentioned by SELECT)
Host2: folder [Junk] permanentflags:
Host1: folder [Junk] considering 0 messages
Host2: folder [Junk] considering 0 messages
Host1: folder [Junk] selected 0 messages, duplicates 0
Host2: folder [Junk] selected 0 messages, duplicates 0
ETA: Sunday 16 July 2023-07-16 17:02:23 +0000 UTC  0 s  0/105 msgs left
Folder     5/9 [Sent]                              -> [Sent]
Host1: folder [Sent] has 0 messages in total (mentioned by SELECT)
Host2: folder [Sent] has 0 messages in total (mentioned by SELECT)
Host2: folder [Sent] permanentflags:
Host1: folder [Sent] considering 0 messages
Host2: folder [Sent] considering 0 messages
Host1: folder [Sent] selected 0 messages, duplicates 0
Host2: folder [Sent] selected 0 messages, duplicates 0
ETA: Sunday 16 July 2023-07-16 17:02:23 +0000 UTC  0 s  0/105 msgs left
Folder     6/9 [Stakeholder]                       -> [Stakeholder]
Host1: folder [Stakeholder] has 0 messages in total (mentioned by SELECT)
Creating folder [Stakeholder] on host2
Created folder [Stakeholder] on host2
Host2: folder [Stakeholder] has 0 messages in total (mentioned by SELECT)
Host2: folder [Stakeholder] permanentflags:
Host1: folder [Stakeholder] considering 0 messages
Host2: folder [Stakeholder] considering 0 messages
Host1: folder [Stakeholder] selected 0 messages, duplicates 0
Host2: folder [Stakeholder] selected 0 messages, duplicates 0
ETA: Sunday 16 July 2023-07-16 17:02:23 +0000 UTC  0 s  0/105 msgs left
Folder     7/9 [Team]                              -> [Team]
Host1: folder [Team] has 0 messages in total (mentioned by SELECT)
Creating folder [Team] on host2
Created folder [Team] on host2
Host2: folder [Team] has 0 messages in total (mentioned by SELECT)
Host2: folder [Team] permanentflags:
Host1: folder [Team] considering 0 messages
Host2: folder [Team] considering 0 messages
Host1: folder [Team] selected 0 messages, duplicates 0
Host2: folder [Team] selected 0 messages, duplicates 0
ETA: Sunday 16 July 2023-07-16 17:02:23 +0000 UTC  0 s  0/105 msgs left
Folder     8/9 [Trash]                             -> [Trash]
Host1: folder [Trash] has 0 messages in total (mentioned by SELECT)
Host2: folder [Trash] has 0 messages in total (mentioned by SELECT)
Host2: folder [Trash] permanentflags:
Host1: folder [Trash] considering 0 messages
Host2: folder [Trash] considering 0 messages
Host1: folder [Trash] selected 0 messages, duplicates 0
Host2: folder [Trash] selected 0 messages, duplicates 0
ETA: Sunday 16 July 2023-07-16 17:02:23 +0000 UTC  0 s  0/105 msgs left
Folder     9/9 [Yahoo]                             -> [Yahoo]
Host1: folder [Yahoo] has 0 messages in total (mentioned by SELECT)
Creating folder [Yahoo] on host2
Created folder [Yahoo] on host2
Host2: folder [Yahoo] has 0 messages in total (mentioned by SELECT)
Host2: folder [Yahoo] permanentflags:
Host1: folder [Yahoo] considering 0 messages
Host2: folder [Yahoo] considering 0 messages
Host1: folder [Yahoo] selected 0 messages, duplicates 0
Host2: folder [Yahoo] selected 0 messages, duplicates 0
ETA: Sunday 16 July 2023-07-16 17:02:24 +0000 UTC  0 s  0/105 msgs left
++++ End looping on each folder

Folders sizes after the synchronization.
You can remove this foldersizes listing by using  "--nofoldersizesatend"
Host1 folder     1/9 [Drafts]                            Size:         0 Messages:     0 Biggest:         0
Host2 folder     1/9 [Drafts]                            Size:         0 Messages:     0 Biggest:         0
Host2-Host1                                                            0               0                  0

Host1 folder     2/9 [Gmail]                             Size:         0 Messages:     0 Biggest:         0
Host2 folder     2/9 [Gmail]                             Size:         0 Messages:     0 Biggest:         0
Host2-Host1                                                            0               0                  0

Host1 folder     3/9 [INBOX]                             Size:   3706250 Messages:   105 Biggest:     55610
Host2 folder     3/9 [INBOX]                             Size:   3706250 Messages:   105 Biggest:     55610
Host2-Host1                                                            0               0                  0

Host1 folder     4/9 [Junk]                              Size:         0 Messages:     0 Biggest:         0
Host2 folder     4/9 [Junk]                              Size:         0 Messages:     0 Biggest:         0
Host2-Host1                                                            0               0                  0

Host1 folder     5/9 [Sent]                              Size:         0 Messages:     0 Biggest:         0
Host2 folder     5/9 [Sent]                              Size:         0 Messages:     0 Biggest:         0
Host2-Host1                                                            0               0                  0

Host1 folder     6/9 [Stakeholder]                       Size:         0 Messages:     0 Biggest:         0
Host2 folder     6/9 [Stakeholder]                       Size:         0 Messages:     0 Biggest:         0
Host2-Host1                                                            0               0                  0

Host1 folder     7/9 [Team]                              Size:         0 Messages:     0 Biggest:         0
Host2 folder     7/9 [Team]                              Size:         0 Messages:     0 Biggest:         0
Host2-Host1                                                            0               0                  0

Host1 folder     8/9 [Trash]                             Size:         0 Messages:     0 Biggest:         0
Host2 folder     8/9 [Trash]                             Size:         0 Messages:     0 Biggest:         0
Host2-Host1                                                            0               0                  0

Host1 folder     9/9 [Yahoo]                             Size:         0 Messages:     0 Biggest:         0
Host2 folder     9/9 [Yahoo]                             Size:         0 Messages:     0 Biggest:         0
Host2-Host1                                                            0               0                  0

Host1 Nb folders:                     9 folders
Host2 Nb folders:                     9 folders

Host1 Nb messages:                  105 messages
Host2 Nb messages:                  105 messages

Host1 Total size:               3706250 bytes (3.535 MiB)
Host2 Total size:               3706250 bytes (3.535 MiB)

Host1 Biggest message:            55610 bytes (54.307 KiB)
Host2 Biggest message:            55610 bytes (54.307 KiB)

Time spent on sizing:         0.6 seconds
++++ Statistics
Transfer started on                     : Sunday 16 July 2023-07-16 17:02:07 +0000 UTC
Transfer ended on                       : Sunday 16 July 2023-07-16 17:02:24 +0000 UTC
Transfer time                           : 16.8 sec
Folders synced                          : 9/9 synced
Messages transferred                    : 105
Messages skipped                        : 0
Messages found duplicate on host1       : 0
Messages found duplicate on host2       : 0
Messages found crossduplicate on host2  : 0
Messages void (noheader) on host1       : 0
Messages void (noheader) on host2       : 0
Messages found in host1 not in host2    : 0 messages
Messages found in host2 not in host1    : 0 messages
Messages deleted on host1               : 0
Messages deleted on host2               : 0
Total bytes transferred                 : 3706250 (3.535 MiB)
Total bytes skipped                     : 0 (0.000 KiB)
Message rate                            : 6.3 messages/s
Average bandwidth rate                  : 215.7 KiB/s
Reconnections to host1                  : 0
Reconnections to host2                  : 0
Memory consumption at the end           : 175.0 MiB (*time 0.8 MiB*h) (started with 160.6 MiB)
Load end is                             : 1.49 1.03 0.95 2/834 on 4 cores
CPU time and %cpu                       : 2.27 sec 13.5 %cpu 3.4 %allcpus
Biggest message transferred             : 55610 bytes (54.307 KiB)
Memory/biggest message ratio            : 3300.1
Start difference host2 - host1          : -105 messages, -3706250 bytes (-3.535 MiB)
Final difference host2 - host1          : 0 messages, 0 bytes (0.000 KiB)
The sync looks good, all 105 identified messages in host1 are on host2.
There is no unidentified message on host1.
The sync is strict, all 105 identified messages in host2 are on host1.
Detected 0 errors
This imapsync is up to date. ( local 2.229 >= official 2.229 )( Use --noreleasecheck to avoid this release check. )
Homepage: https://imapsync.lamiral.info/
Exiting with return value 0 (EX_OK: successful termination) 0/50 nb_errors/max_errors PID 1
No log file because of option --nolog
root@mail:/tmp#

Note: You can use full email_address of authuser or just the username. As you can see imapsync process initiated successfully and transferred the emails with 0 errors (Line-517). Now you can proceed with the massive sync process.

  • Now you can run a massive sync process of all the accounts you have migrated

You can run them one by one like this:

for i in $(su - zextras -c "carbonio prov -l gaa sampleserver.xyz");do docker run --rm gilleslamiral/imapsync imapsync \
     --host1 IP_ZIMBRA_SERVER --ssl1 --user1 $i --authuser1 admin --password1 123456 \
     --host2 IP_CARBONIO_SERVER --ssl2 --user2 $i --authuser2 zextras --password2 123456 ; done

Or you can create a single and simple script to run them one by one automatically:

#!/bin/bash
# Carbonio Email Migration Process Script

for i in $(su - zextras -c "carbonio prov -l gaa sampleserver.xyz");do docker run --rm gilleslamiral/imapsync imapsync \
     --host1 IP_ZIMBRA_SERVER --ssl1 --user1 $i --authuser1 admin --password1 123456 \
     --host2 IP_CARBONIO_SERVER --ssl2 --user2 $i --authuser2 zextras --password2 123456 ; done

for i in $(su - zextras -c "carbonio prov -l gaa sampleservers.xyz");do docker run --rm gilleslamiral/imapsync imapsync \
     --host1 IP_ZIMBRA_SERVER --ssl1 --user1 $i --authuser1 admin --password1 123456 \
     --host2 IP_CARBONIO_SERVER --ssl2 --user2 $i --authuser2 zextras --password2 123456 ; done

for i in $(su - zextras -c "carbonio prov -l gaa oldserver.xyz");do docker run --rm gilleslamiral/imapsync imapsync \
     --host1 IP_ZIMBRA_SERVER --ssl1 --user1 $i --authuser1 admin --password1 123456 \
     --host2 IP_CARBONIO_SERVER --ssl2 --user2 $i --authuser2 zextras --password2 123456 ; done

for i in $(su - zextras -c "carbonio prov -l gaa zextras.xyz");do docker run --rm gilleslamiral/imapsync imapsync \
     --host1 IP_ZIMBRA_SERVER --ssl1 --user1 $i --authuser1 admin --password1 123456 \
     --host2 IP_CARBONIO_SERVER --ssl2 --user2 $i --authuser2 zextras --password2 123456 ; done

So as soon as the process completes, your users shall have all previous email data. And with this your migration process completes.

That’s it for today.

🙂

Post your comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Restricting Sending and Receiving Emails for Users in Carbonio Community Edition | Carbonio CE
How To Use Script To Migrate Zimbra To Carbonio | Carbonio CEÂ