Jak samodzielnie przenieść pocztę za pomocą imapsync (przez SSH)?

Cel Artykułu: Ten artykuł wyjaśnia, jak użyć narzędzia imapsync poprzez połączenie SSH do samodzielnego przeniesienia całej zawartości skrzynki pocztowej z dotychczasowego serwera na hosting IQhost.

Czym jest imapsync i kiedy go używać?

Imapsync to narzędzie wiersza poleceń, które umożliwia synchronizację, kopiowanie i migrację skrzynek pocztowych między dwoma serwerami IMAP. Jest to zaawansowane rozwiązanie, szczególnie przydatne w następujących sytuacjach:

  • Potrzebujesz przenieść dużą ilość wiadomości (kilka GB lub więcej)
  • Chcesz zachować dokładną strukturę folderów
  • Dotychczasowy host nie oferuje wygodnego sposobu eksportu/importu
  • Potrzebujesz pełnej kontroli nad procesem migracji
  • Migracja standardowymi metodami nie powiodła się

Uwaga: Ten poradnik jest przeznaczony dla użytkowników z podstawową znajomością wiersza poleceń i SSH. Jeśli wolisz prostsze rozwiązanie, skorzystaj z usługi bezpłatnej migracji oferowanej przez IQhost.


Wymagania wstępne

Zanim rozpoczniesz proces migracji poczty za pomocą imapsync, upewnij się, że:

  1. Masz dostęp SSH do hostingu IQhost

    • Pakiety HS25 i wyższe standardowo posiadają dostęp SSH
    • Musisz mieć skonfigurowany dostęp z kluczem SSH (nie ma możliwości logowania hasłem)
  2. Masz działające konto e-mail na serwerze IQhost

    • Konto docelowe musi być już utworzone w DirectAdmin
    • Hasło do konta e-mail musi być ustalone
  3. Znasz dane IMAP serwera źródłowego

    • Adres serwera IMAP (np. imap.gmail.com)
    • Numer portu (typowo 143 lub 993 dla SSL/TLS)
    • Login i hasło do konta źródłowego
    • Informacje, czy serwer wymaga szyfrowania SSL/TLS
  4. Znasz dane IMAP serwera IQhost

    • Adres serwera: imap.iqhs.pl lub imap.twojadomena.pl
    • Port: 993 (SSL/TLS) lub 143 (STARTTLS)
    • Login i hasło do konta docelowego

Krok 1: Konfiguracja dostępu SSH

Jeśli nie masz jeszcze skonfigurowanego dostępu SSH, wykonaj poniższe kroki:

  1. Wygeneruj parę kluczy SSH na swoim komputerze

    Na systemie Linux lub macOS, otwórz terminal i wykonaj:

    ssh-keygen -t rsa -b 4096

    Na Windows możesz użyć programu PuTTYgen lub wykonać to polecenie w Windows Subsystem for Linux.

  2. Dodaj klucz publiczny w DirectAdmin

    • Zaloguj się do DirectAdmin przez Panel Klienta IQhost
    • Przejdź do sekcji SSH Management lub Zarządzanie SSH
    • Kliknij Public Keys lub Klucze publiczne
    • Wklej zawartość pliku id_rsa.pub (utworzonego w poprzednim kroku)
    • Zapisz zmiany
  3. Przetestuj połączenie SSH

    Połącz się z serwerem używając:

    ssh hostXXXXX@hostXXXXX.iqhs.pl

    Gdzie hostXXXXX to Twoja nazwa użytkownika hostingu. Przy pierwszym połączeniu zostaniesz poproszony o zaakceptowanie klucza serwera.

Wskazówka: Jeśli korzystasz z PuTTY na Windows, musisz przekonwertować klucz prywatny do formatu PPK za pomocą PuTTYgen, a następnie wczytać go w programie PuTTY.


Krok 2: Sprawdzenie dostępności imapsync

Narzędzie imapsync jest już zainstalowane na serwerach IQhost. Sprawdź, czy jest dostępne i jaką ma wersję:

imapsync --version

Powinieneś zobaczyć informację o wersji narzędzia, na przykład:

imapsync version 2.xxx

Jeśli otrzymasz błąd "command not found", skontaktuj się z pomocą techniczną IQhost.


Krok 3: Przygotowanie do migracji

Zanim rozpoczniesz właściwą migrację, warto przygotować i przetestować polecenie imapsync:

  1. Zbierz wszystkie potrzebne dane

    Przygotuj w jednym miejscu:

    • Adres serwera źródłowego IMAP
    • Login i hasło do konta źródłowego
    • Adres serwera docelowego IMAP (imap.iqhs.pl)
    • Login i hasło do konta docelowego
  2. Utwórz plik z hasłami (opcjonalne, ale zalecane)

    Aby uniknąć wpisywania haseł bezpośrednio w wierszu poleceń, możesz utworzyć plik z hasłami:

    mkdir -p ~/.imapsync
    touch ~/.imapsync/passwords.txt
    chmod 600 ~/.imapsync/passwords.txt

    Następnie edytuj plik (np. za pomocą nano lub vim) i dodaj hasła:

    source_password=TwojeHasłoŹródłowe
    target_password=TwojeHasłoDocelowe
  3. Sprawdź dostępność serwerów

    Możesz użyć prostego polecenia ping lub telnet, aby sprawdzić, czy serwery są dostępne:

    ping -c 3 serwer-zrodlowy.pl
    telnet serwer-zrodlowy.pl 993

    W przypadku telnet naciśnij Ctrl+C, aby przerwać po nawiązaniu połączenia.


Krok 4: Wykonanie testowej migracji

Zanim przystąpisz do pełnej migracji, warto wykonać test na małej ilości danych:

  1. Uruchom imapsync z limitem wiadomości

    imapsync \
      --host1 imap.serwer-zrodlowy.pl \
      --user1 twoj-login@serwer-zrodlowy.pl \
      --password1 TwojeHasłoŹródłowe \
      --ssl1 \
      --host2 imap.iqhs.pl \
      --user2 twoj-email@twojadomena.pl \
      --password2 TwojeHasłoDocelowe \
      --ssl2 \
      --maxage 7 \
      --dry

    Flaga --maxage 7 ogranicza test do wiadomości nie starszych niż 7 dni. Flaga --dry wykonuje "suchy bieg" - pokazuje, co zostałoby zrobione, ale nie wykonuje faktycznej migracji.

  2. Sprawdź wynik testowania

    Przeanalizuj wynik polecenia, zwracając uwagę na:

    • Poprawność połączenia z oboma serwerami
    • Liczbę folderów i wiadomości do zsynchronizowania
    • Ewentualne błędy lub ostrzeżenia
  3. Wykonaj faktyczną testową migrację

    Jeśli test wygląda dobrze, usuń flagę --dry i wykonaj rzeczywistą migrację ograniczonej liczby wiadomości:

    imapsync \
      --host1 imap.serwer-zrodlowy.pl \
      --user1 twoj-login@serwer-zrodlowy.pl \
      --password1 TwojeHasłoŹródłowe \
      --ssl1 \
      --host2 imap.iqhs.pl \
      --user2 twoj-email@twojadomena.pl \
      --password2 TwojeHasłoDocelowe \
      --ssl2 \
      --maxage 7
  4. Sprawdź, czy wiadomości zostały prawidłowo przeniesione

    Zaloguj się do Webmaila IQhost lub użyj klienta pocztowego, aby sprawdzić, czy testowe wiadomości zostały poprawnie przeniesione wraz z folderami.


Krok 5: Wykonanie pełnej migracji

Gdy testowa migracja przebiegnie pomyślnie, możesz przystąpić do pełnej migracji:

  1. Przygotuj polecenie do pełnej migracji

    imapsync \
      --host1 imap.serwer-zrodlowy.pl \
      --user1 twoj-login@serwer-zrodlowy.pl \
      --password1 TwojeHasłoŹródłowe \
      --ssl1 \
      --host2 imap.iqhs.pl \
      --user2 twoj-email@twojadomena.pl \
      --password2 TwojeHasłoDocelowe \
      --ssl2 \
      --automap \
      --useheader 'Message-ID' \
      --skipcrossduplicates \
      --nofoldersizes \
      --nofoldersizesatend

    Dodatkowe opcje:

    • --automap - automatycznie mapuje nazwy folderów między serwerami
    • --useheader 'Message-ID' - używa nagłówka Message-ID do identyfikacji wiadomości
    • --skipcrossduplicates - pomija wiadomości, które już istnieją w dowolnym folderze
    • --nofoldersizes i --nofoldersizesatend - pomija obliczanie rozmiarów folderów, co przyspiesza migrację
  2. Uruchom pełną migrację

    Zalecamy uruchomienie migracji w sesji screen lub tmux, aby proces nie został przerwany w przypadku utraty połączenia SSH:

    screen -S email_migration
    
    # Następnie uruchom polecenie imapsync

    Aby odłączyć się od sesji screen (proces będzie kontynuowany), naciśnij Ctrl+A, a następnie D.

    Aby ponownie podłączyć się do sesji:

    screen -r email_migration
  3. Monitoruj postęp migracji

    Imapsync na bieżąco wyświetla informacje o postępie, w tym:

    • Aktualnie przetwarzany folder
    • Liczbę przetworzonych wiadomości
    • Szacowany czas pozostały do zakończenia

    Migracja dużych skrzynek pocztowych może trwać kilka godzin lub nawet dni, w zależności od ilości danych i szybkości serwerów.


Krok 6: Weryfikacja migracji

Po zakończeniu procesu migracji należy dokładnie sprawdzić, czy wszystkie dane zostały poprawnie przeniesione:

  1. Sprawdź strukturę folderów

    Porównaj hierarchię folderów na obu serwerach. Wszystkie foldery ze źródłowego serwera powinny być widoczne na serwerze docelowym.

  2. Sprawdź liczbę wiadomości

    Imapsync podaje statystyki na końcu migracji. Upewnij się, że liczba wiadomości na serwerze docelowym odpowiada liczbie na serwerze źródłowym.

  3. Sprawdź wybrane wiadomości

    Wyrywkowo sprawdź kilka wiadomości, zwłaszcza te z załącznikami, aby upewnić się, że zostały poprawnie przeniesione.

  4. Wykonaj ponowną synchronizację (opcjonalnie)

    Jeśli zauważysz brakujące wiadomości lub inne problemy, możesz uruchomić imapsync ponownie. Narzędzie jest idempotentne - przenosi tylko te wiadomości, których jeszcze nie ma na serwerze docelowym.


Typowe problemy i ich rozwiązania

Problem: Błąd uwierzytelniania na serwerze źródłowym

Rozwiązanie:

  • Sprawdź, czy podałeś poprawny login i hasło
  • Jeśli korzystasz z Gmaila, musisz utworzyć hasło do aplikacji
  • Niektóre serwery wymagają pełnego adresu e-mail jako loginu, inne tylko części przed @

Problem: Błąd uwierzytelniania na serwerze IQhost

Rozwiązanie:

  • Upewnij się, że konto e-mail zostało poprawnie utworzone w DirectAdmin
  • Sprawdź, czy hasło jest prawidłowe
  • Jako login używaj pełnego adresu e-mail

Problem: Błąd "Unable to connect to..."

Rozwiązanie:

  • Sprawdź, czy podałeś poprawny adres serwera
  • Upewnij się, że port jest prawidłowy (993 dla SSL/TLS, 143 dla nieszyfrowanego lub STARTTLS)
  • Sprawdź, czy serwer źródłowy nie blokuje połączeń wychodzących

Problem: Migracja jest bardzo wolna

Rozwiązanie:

  • Użyj opcji --nofoldersizes i --nofoldersizesatend, aby przyspieszyć proces
  • Rozważ użycie opcji --usecache, która zapisuje informacje o wiadomościach w pamięci podręcznej
  • Podziel migrację na mniejsze części, np. przenosząc najpierw nowsze wiadomości

Problem: Niektóre foldery nie zostały przeniesione

Rozwiązanie:

  • Sprawdź, czy nazwy folderów nie zawierają znaków specjalnych
  • Użyj opcji --prefix1 i --prefix2, jeśli foldery są w różnych lokalizacjach na serwerach
  • Ręcznie zmapuj problematyczne foldery za pomocą opcji --folderrec

Zaawansowane opcje imapsync

Imapsync oferuje wiele zaawansowanych opcji, które mogą być przydatne w specyficznych przypadkach:

Synchronizacja tylko wybranych folderów

imapsync ... --include "INBOX|Sent|Important"

Ta opcja synchronizuje tylko foldery, których nazwy pasują do podanego wyrażenia regularnego.

Wykluczenie niektórych folderów

imapsync ... --exclude "Spam|Trash|Junk"

Ta opcja pomija foldery, których nazwy pasują do podanego wyrażenia regularnego.

Migracja tylko nowych wiadomości

imapsync ... --maxage 30

Ta opcja migruje tylko wiadomości nie starsze niż 30 dni.

Ograniczenie rozmiaru migrowanych wiadomości

imapsync ... --maxsize 10485760

Ta opcja pomija wiadomości większe niż podany rozmiar (w bajtach, w tym przypadku 10 MB).

Zmiana nazw folderów podczas migracji

imapsync ... --regextrans2 "s/OldName/NewName/"

Ta opcja zmienia nazwy folderów na serwerze docelowym zgodnie z podanym wyrażeniem regularnym.

Zapisywanie logów do pliku

imapsync ... --logfile /path/to/migration_log.txt

Ta opcja zapisuje szczegółowe logi migracji do pliku, co jest przydatne do analizy w przypadku problemów.


Dobre praktyki i wskazówki

  1. Wykonuj migrację w kilku etapach:

    • Najpierw przenieś najnowsze wiadomości (np. za pomocą --maxage)
    • Następnie przenieś starsze wiadomości w kilku partiach
    • Na końcu wykonaj pełną synchronizację, aby upewnić się, że wszystko zostało przeniesione
  2. Nie przerywaj działającego procesu migracji:

    • Używaj screen lub tmux, aby proces działał nawet po rozłączeniu SSH
    • Jeśli musisz przerwać, zrób to w bezpieczny sposób (np. Ctrl+C), a nie zamykając terminal
  3. Monitoruj zużycie zasobów:

    • Duże migracje mogą obciążać serwer
    • W razie potrzeby użyj opcji --fetchsizelimit i --buffersize, aby kontrolować zużycie pamięci
  4. Zachowaj kopie zapasowe:

    • Nie usuwaj oryginalnych wiadomości z serwera źródłowego, dopóki nie upewnisz się, że migracja przebiegła poprawnie
    • Poczekaj kilka dni po migracji, zanim anulujesz usługę u poprzedniego dostawcy
  5. Po migracji:

    • Zaktualizuj rekordy MX domeny, aby kierować pocztę na serwery IQhost
    • Aktualizuj konfigurację klientów pocztowych, aby korzystały z nowych serwerów

Powiązane Artykuły:

Czy ten artykuł był pomocny?

Twoja strona WordPress działa wolno?

Sprawdź nasz hosting WordPress z ultraszybkimi dyskami NVMe i konfiguracją serwera zoptymalizowaną pod kątem wydajności. Doświadcz różnicy już dziś!

Sprawdź ofertę hostingu
30-dniowa gwarancja zwrotu pieniędzy