Недавно мне понадобился перенос почты, самое простое решения которое я нашёл в интернете было imapsync.

 

Установка на Centos 7

yum install imapsync

Установка на Centos 6

 

wget http://dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
rpm -Uvh epel-release-6-8.noarch.rpm

И так, imapsync у нас установлен. Приступаем к переносу.

Разберём случай когда на обоих серверах доступы к почтовым ящикам одинаковый:

Создаём файл с паролями к ящикам, формата:

test@domen.ru  TahNae8e

amrina@domen.ru  Chiw6ahv

и так далее.

Дальше запускаем скрипт:

cat /путь/до/файла/с/паролем | awk '{print $1}' | while read i ; do pass=`cat /путь/до/файла/с/паролем | grep $i | awk '{print $2}'`  ; /tmp/imapsync/imapsync --host1 IP.ист --user1 $i --password1 $pass --host2 IP.приём --user2 $i --password2 $pass ; done

где,

/путь/до/файла/с/паролем — путь до созданного вами файла с паролями

IP.ист — IP адрес сервера, откуда необходимо нести данные.

IP.приём — IP адрес сервера, куда необходимо нести данные.

 

Разберём случай когда на обоих серверах доступы к почтовым ящикам одинаковый:

Создаём два файла с паролями к ящикам, формата:

test@domen.ru  TahNae8e

test2@domen.ru  Chiw6ahv

и так далее.

Дальше запускаем скрипт:

cat /путь/до/файла/с/паролями/источника | awk '{print $1}' | while read i ; do pass1=`cat /путь/до/файла/с/паролем/источника | grep $i | awk '{print $2}'`  ;  pass2=/путь/до/файла/с/паролем/приёмника | grep $i | awk '{print $2}'  ; /tmp/imapsync/imapsync --host1 IP.ист --user1 $i --password1 $pass1 --host2 IP.приём --user2 $i --password2 $pass2 ; done

Где,

/путь/до/файла/с/паролями/источника — путь до созданного вами файла с паролями с сервера источника

/путь/до/файла/с/паролем/приёмника — путь до созданного вами файла с паролями с сервера приёмника

IP.ист — IP адрес сервера, откуда необходимо нести данные.

IP.приём — IP адрес сервера, куда необходимо нести данные.