was registered on Dec 15, 1999

Migrate any mail server to hestiacp (vestacp fork)

My friend asked me to help with the migration of mail from a server running ispmanager5 lite to a server running vestacp. But this script is suitable for migration from any imap server to hestiacp panel.
I found imapsync utility and I'll use it. The email.txt file should contain a list of mailboxes and passwords, one account per line.

# hestiacp user
# count mailboxes from email.txt
q=`cat email.txt | wc -l`
# create domains to create
domains=($(cat email.txt | cut -d @ -f2 | awk '{print $1}' | uniq))
for d in "${domains[@]}"
v-add-domain $user $d
# create account and sync all mailboxes
for ((i=1;i<=$q;i++));
# old mailserver hostname
# new mailserver hostname
# some useful variables
account=`head -n $i email.txt | tail -1 | awk '{print $1}' | cut -d @ -f1`
email=`head -n $i email.txt | tail -1 | awk '{print $1}'`
password=`head -n $i email.txt | tail -1 | awk '{print $2}'`
domain=`head -n $i email.txt | tail -1 | awk '{print $1}' | cut -d @ -f2`
# create mailboxes
v-add-mail-account "$user" "$domain" "$account" "$password"
# sync mail
/root/imapsync/imapsync \
--host1 $host1 --user1 $email --password1 $password \
--host2 $host2 --user2 $email --password2 $password