Welcome on my blog

We use cookies to ensure you get the best experience on our website.

Migracja Skrzynki Mailbox miedzy hostingami

Autor: chmajster 19.11.2025

Imapsync – bezpieczna migracja skrzynek IMAP krok po kroku

Migracja poczty między serwerami to zwykle mało wdzięczne zadanie. Różne panele, różne konfiguracje, przerażeni użytkownicy: „Czy na pewno nie stracę maili?”.
Na szczęście jest narzędzie, które robi tę robotę bezboleśnie – to imapsync.

W tym wpisie:

  • co to jest imapsync i kiedy warto go użyć,
  • jak działa migracja „na żywo”,
  • najważniejsze opcje z praktycznymi komentarzami,
  • przykładowe komendy, które możesz od razu wykorzystać.

Co to jest imapsync?

imapsync to narzędzie wiersza poleceń służące do synchronizacji skrzynek e-mail między dwoma serwerami IMAP.
W praktyce oznacza to, że możesz:

  • przenieść pocztę ze starego serwera na nowy,
  • zsynchronizować dwie kopie tej samej skrzynki,
  • robić „pełzającą migrację” – przenosić maile partiami, bez przestojów.

Kluczowe jest to, że imapsync nie usuwa wiadomości ze źródła – kopiuje je i dba o to, żeby po stronie docelowej odtworzyć strukturę folderów, flagi (przeczytane, oznaczone, itp.) oraz daty.


Jak działa imapsync w skrócie?

  1. Łączy się z serwerem źródłowym (SOURCE IMAP).
  2. Łączy się z serwerem docelowym (DESTINATION IMAP).
  3. Porównuje foldery i wiadomości.
  4. Kopiuje tylko to, czego jeszcze nie ma po stronie docelowej.
  5. Możesz uruchomić go wiele razy – za każdym razem dogra tylko różnice.

To daje bardzo wygodny scenariusz migracji:

  • kilka dni (lub tygodni) przed przełączeniem DNS odpalasz pierwszą synchronizację,
  • później robisz 1–2 dogrywki, aby przenieść nowe maile,
  • na końcu zmieniasz MX/DNS – użytkownik praktycznie nie odczuwa migracji.

Podstawowa składnia imapsync

Najprostszy przykład:

imapsync \
  --host1 imap.stary-serwer.pl --user1 user@domena.pl --password1 'starehaslo' \
  --host2 imap.nowy-serwer.pl  --user2 user@domena.pl --password2 'nowehaslo'

To już wystarczy, żeby zainicjować migrację.
W praktyce jednak warto dodać kilka przydatnych opcji, które opisuję poniżej.


Najważniejsze opcje imapsync – z opisem

Poniżej lista najczęściej używanych opcji, z komentarzami „po ludzku”.

1. Parametry połączenia

--host1        # adres serwera źródłowego
--user1        # login na serwerze źródłowym
--password1    # hasło do skrzynki na serwerze źródłowym

--host2        # adres serwera docelowego
--user2        # login na serwerze docelowym
--password2    # hasło do skrzynki na serwerze docelowym

To absolutna podstawa. Dodatkowo możesz sterować portem oraz tym, czy ma być użyty SSL/TLS:

--port1 993 --ssl1
--port2 993 --ssl2

Jeśli serwer używa STARTTLS na porcie 143, zamiast --ssl możesz użyć --tls1 / --tls2.


2. Mapowanie folderów

Różni dostawcy poczty używają różnych nazw folderów (np. „Sent”, „Wysłane”, „INBOX.Sent”), co może prowadzić do bałaganu po migracji.

Do mapowania służą:

--regextrans2 's/INBOX.Sent/Wysłane/'

lub bardziej klasycznie:

--folder INBOX.Sent --regextrans2 's/INBOX.Sent/Wysłane/'

Opcja --regextrans2 pozwala zmieniać nazwy folderów po stronie docelowej (2 = destination).
Możesz też użyć:

--prefix1 "INBOX." --prefix2 ""

jeżeli jeden serwer używa prefiksu INBOX. a drugi nie.


3. Filtrowanie wiadomości

Nie zawsze chcesz przenosić wszystko. Np. stara skrzynka ma 20 GB, a Ty potrzebujesz tylko ostatniego roku.

Najczęściej używane filtry:

--maxage 365

Przeniesie tylko maile z ostatnich 365 dni.

--minage 30

Przeniesie maile starsze niż 30 dni (czyli np. zostawia najnowsze na starym serwerze).

--skipheader 'X-Spam-Flag'

Pominięcie wiadomości z konkretnym nagłówkiem – np. spam oznaczony przez filtr.

Możesz też ograniczyć po rozmiarze:

--maxsize 50000000

Przenosi tylko maile mniejsze niż 50 MB (wartość w bajtach).


4. Zachowanie flag, UID-ów i ciągłość synchronizacji

To jedna z najważniejszych zalet imapsync – możliwość wielokrotnego uruchamiania bez duplikatów.

--useuid

Imapsync używa UID-ów wiadomości, żeby dokładnie wiedzieć, co już skopiował.
Dzięki temu możesz robić wielokrotne przebiegi migracji bez ryzyka masowych duplikatów.

Warto też włączyć:

--syncinternaldates

Ta opcja zachowuje oryginalne daty wiadomości, zamiast podmieniać je na czas migracji.


5. Prędkość i ograniczanie zasobów

Jeśli migrujesz wiele skrzynek na raz albo serwer nie jest zbyt wydajny, przydadzą się opcje kontrolujące tempo:

--maxbytespersecond 50000

Ogranicza transfer do ok. 50 kB/s – przydatne, gdy nie chcesz zatkać łącza.

Możesz też ustawić liczbę równoległych połączeń (w nowszych wersjach, jeśli są włączone w danej kompilacji), ale w praktyce większość osób odpala po prostu kilka procesów imapsync równolegle dla różnych kont.


6. Logowanie i debugowanie

Dobre logi to podstawa przy migracji poczty.

--log
--logfile imapsync-user@domena.pl.log
  • --log – włącza logowanie,
  • --logfile – zapisuje logi do konkretnego pliku.

Jeśli coś idzie nie tak i trzeba zobaczyć dokładne komunikaty IMAP:

--debug
--debugimap

Uwaga: --debugimap generuje bardzo dużo danych – używaj raczej tymczasowo.


7. Pomijanie folderów lub pojedynczych wiadomości

Przykład – nie chcesz przenosić folderu Spam i Kosz:

--exclude 'Spam|Junk|Trash|Kosz'

Możesz też przenosić tylko wybrane foldery:

--include 'INBOX|INBOX.Ważne|INBOX.Klienci'

Albo po prostu:

--folder INBOX
--folder INBOX.Klienci

8. Suchy test („na sucho”)

Zanim odpalisz właściwą migrację, możesz zobaczyć, co imapsync zamierza zrobić:

--dry

W trybie --dry nic nie jest faktycznie przenoszone – dostajesz podgląd całej operacji.
Idealne, żeby upewnić się, że filtry, mapowanie folderów i logowanie są ustawione poprawnie.


Przykładowa praktyczna komenda

Załóżmy, że chcesz:

  • przenieść konto user@domena.pl,
  • pominąć foldery spamowe i kosz,
  • zachować daty i flagi,
  • mieć log w osobnym pliku,
  • użyć SSL na obu serwerach.

Gotowa komenda może wyglądać tak:

imapsync \
  --host1 imap.stary-serwer.pl --user1 user@domena.pl --password1 'starehaslo' --ssl1 \
  --host2 imap.nowy-serwer.pl  --user2 user@domena.pl --password2 'nowehaslo' --ssl2 \
  --exclude 'Spam|Junk|Trash|Kosz' \
  --useuid \
  --syncinternaldates \
  --log \
  --logfile imapsync-user@domena.pl.log

Jeżeli skrzynka jest bardzo duża, możesz zacząć od ograniczenia po dacie:

  --maxage 365

a później dograć starsze wiadomości, zmieniając filtr.


Dobre praktyki przy używaniu imapsync

Na koniec kilka tipów z praktyki:

  1. Zaczynaj wcześnie – pierwszą synchronizację zrób na długo przed przełączeniem DNS.
  2. Rób kilka przebiegów – jeden „full”, później 1–2 dogrywki, gdy użytkownicy nadal korzystają ze starego serwera.
  3. Testuj na pojedynczym koncie – zanim ruszysz z masową migracją, przetestuj wszystko na jednym, mniej krytycznym użytkowniku.
  4. Sprawdź logi po każdej migracji – szczególnie błędy autoryzacji, brakujące foldery, przekroczone limity itp.
  5. Zadbaj o limity na serwerach – niektórzy dostawcy mają limity ilości połączeń IMAP na konto/IP. Lepiej wiedzieć o tym wcześniej.

Podsumowanie

imapsync to jedno z tych narzędzi, które bardzo trudno zastąpić: stabilne, przewidywalne i idealne do migracji poczty bez przestojów.
Dzięki możliwości wielokrotnego uruchamiania i bogatemu zestawowi opcji, można dopasować proces migracji do praktycznie każdego środowiska – od małego hostingu po większą infrastrukturę firmową.

Jeśli chcesz, w kolejnym kroku mogę przygotować:

albo checklistę migracji IMAP do wydruku / udostępnienia klientowi.

gotowy szablon skryptu bash do masowej migracji wielu kont z pliku CSV,

Example

imapsync \
  --host1 mail77.mydevil.net --user1 source@source.domain.com --password1 "password user1" \
  --host2 mail77.mydevil.net --user2 dest@dest.domain.com   --password2 "password user2" \
  --ssl1 --ssl2 \
  --automap \
  --syncinternaldates \
  --nofoldersizes \
  --useuid \
  --addheader 
Tagi:
Dodaj komentarz

Search
Categories
O Blogu

Cześć Podróżniku!

Ta strona ma nie być typowym poradnikiem w IT, Głównym jej cel to zapisanie krótkich notatek, które mogą się przydać w codziennym życiu podczas korzystania/konfiguracji różnych urządzeń np. Ustawienia DHCP na Routerze Cisco, Ustawieniu Karty sieciowej na Linuxie itp.

Buy me A coffee
[Empty]

Wszelkie prawa zastrzeżone