imapsync — это инструмент для синхронизации почтовых ящиков по протоколу IMAP. Он позволяет переносить письма между почтовыми серверами, что удобно при смене почтового провайдера.
# Установка на Debian/Ubuntu sudo apt install imapsync # Установка на CentOS/AlmaLinux/Rocky Linux sudo dnf install imapsync # Если imapsync отсутствует в репозиториях, можно установить его вручную cd /usr/local/src git clone https://github.com/imapsync/imapsync.git cd imapsync sudo yum install perl perl-App-cpanminus perl-IO-Tee perl-Mail-IMAPClient perl-Authen-NTLM -y sudo cpanm --installdeps .
Основные параметры imapsync
--host1 – старый почтовый сервер (исходный IMAP-сервер)
--user1 – имя пользователя исходного почтового ящика
--password1 – пароль исходного почтового ящика
--host2 – новый почтовый сервер (целевой IMAP-сервер)
--user2 – имя пользователя целевого почтового ящика
--password2 – пароль целевого почтового ящика
--ssl1 / --ssl2 – включение SSL для IMAP-соединения
--delete2 – удаляет письма с целевого сервера, если их нет на исходном (не рекомендуется без тестирования)
--dry – тестовый запуск без реального переноса
--exclude "Drafts|Trash|Junk" – исключение определённых папок
Пример переноса писем
# --automap – автоматически сопоставляет стандартные папки (Inbox, Sent, Trash и т. д.) # --syncinternaldates – сохраняет даты писем # --skipsize – игнорирует различия в размерах писем imapsync \ --host1 imap.oldserver.com --user1 olduser@example.com --password1 'OldPassword' \ --host2 imap.newserver.com --user2 newuser@example.com --password2 'NewPassword' \ --ssl1 --ssl2 --automap --syncinternaldates --skipsize
Перенос почты для нескольких ящиков
# Если нужно перенести почту для нескольких пользователей, можно создать CSV-файл users.csv
olduser1@example.com;OldPassword1;newuser1@example.com;NewPassword1
olduser2@example.com;OldPassword2;newuser2@example.com;NewPassword2
# Затем запустить скрипт:
while IFS=';' read -r user1 pass1 user2 pass2; do
imapsync \
--host1 imap.oldserver.com --user1 "$user1" --password1 "$pass1" \
--host2 imap.newserver.com --user2 "$user2" --password2 "$pass2" \
--ssl1 --ssl2 --automap --syncinternaldates --skipsize;
done < users.csv
После завершения переноса рекомендуется зайти в новый почтовый ящик через веб-интерфейс или почтовый клиент и убедиться, что письма перенесены корректно.
# Полезные параметры для диагностики --dry – тестовый режим --debugimap – подробный лог IMAP-сессий --logfile imapsync.log – запись лога в файл
Комментарии
0Нашли ошибку или хотите дополнить материал?