Eenvoudig e-mail verhuizen met imapsync!

Onlangs gaf mijn collega al een aantal handige SSH-tips. Graag voeg ik hier ‘imapsync’ aan toe, een manier om e-mailaccounts tussen twee servers te kopiëren. Alle aanwezige mappen worden gesynchroniseerd, zodat je deze niet map voor map hoeft te kopiëren. Dit maakt het een interessanter en sneller alternatief voor e-mail verhuizen dan kopiëren via een mailprogramma. Hoe voer jij dit precies uit?

Eenvoudig e-mail verhuizen met imapsync!

Zoals de naam ‘imapsync’ aangeeft, gaat het hier om een synchronisatie van mappen en e-mails die daarin staan. Er wordt dus niets verplaatst, alles wordt gekopieerd van bron- naar doelserver. Voor een soepele overgang is het handig om dit alvast uit te voeren, voordat de domeinnaam is verhuisd. Echter, het is ook achteraf mogelijk, als de oude hosting nog bereikbaar is.

Wat doet imapsync?

Met imapsync kun je IMAP-accounts kopiëren naar een nieuwe locatie. De stappen die dit commando standaard doorloopt, zijn als volgt:

  • indexatie van de mappen en mails op host1;
  • indexatie van de mappen en mails op host2;
  • het overzetten van de mails die op host1 staan en niet op host2;
  • indexatie van de mappen en mails op host2;
  • een samenvatting van het aantal mails die zijn overgezet.

Bij de uitvoering van de imapsync is het tijdens het overzetten standaard zichtbaar hoeveel e-mails er worden overgezet. En hoe veel tijd dit nog in beslag neemt. Zo heb je een beeld hoe lang de synchronisatie nog duurt.

Stap 1: gegevens verzamelen

Tijdens de imapsync heb je te maken met twee servers, host1 en host2. Van beide servers heb je de volledige gegevens nodig om deze transfer uit te voeren. Als je e-mails naar ons wilt overzetten, dan moet je dus eerst bij ons op het pakket het e-mailaccount aanmaken.

In dit voorbeeld gaan we ervan uit dat host1 de externe partij is en host2 Antagonist. De volgende gegevens zul je eerst moeten verzamelen.

Host1 (externe partij)

  • IMAP-server, bijvoorbeeld mail.domeinnaam.nl
  • Gebruikersnaam (vaak het e-mailadres zelf)
  • Wachtwoord

Host2 (Antagonist)

  • Serveradres, bijvoorbeeld s211.webhostingserver.nl
  • Gebruikersnaam (het over te zetten e-mailadres)
  • Wachtwoord

Het is goed om de standaard IMAP-instellingen van de externe server (host1) te achterhalen. Hoewel dit niet noodzakelijk is, kan je dit zeker wel helpen bij probleemoplossing. Het gaat om de volgende informatie:

  • poortnummer IMAP;
  • SSL-verbinding wel of niet mogelijk.

Stap 2: een SSH-verbinding maken

Een imapsync is mogelijk via een SSH-client, zoals de terminal (Mac OS/Linux) of PuTTY (Windows). Hoe je bij ons via SSH met je hostingpakket verbinding maakt, staat toegelicht in onze SSH-documentatie.

Verbinden met SSH om je imapsync te starten.

Je gaat naar de map ‘imap’ synchroniseren die is aangemaakt op onze server. Deze map wordt automatisch herkend als je de imapsync uitvoert. Ga niet eerst naar de map ‘public_html’ of ‘imap’. Dit commando kun je uitvoeren vanuit de standaard hoofdmap ‘/home/debXXXX’. Vervang ‘debXXXX’ met je eigen deb-nummer.

Als je al in een andere map zit, wat je kunt kun je controleren met het commando ‘pwd’, ga dan terug naar deze hoofdmap met dit commando.

cd /home/debXXXX

Stap 3: het standaard commando gebruiken

Hieronder vind je het standaard commando voor de imapsync. De waarden ‘serveradres’, ‘bronmailadres@mail.nl’, ‘doelmailadres@mail.nl’ en ‘wachtwoord’ vervang je met je eigen gegevens.

imapsync --host1 serveradres --user1 bronmailadres@mail.nl --password1 "wachtwoord" --host2 serveradres --user2 doelmailadres@mail.nl --password2 "wachtwoord"

Dit commando werkt in 90% van de gevallen. Als dat echter niet lukt, dan wordt er een specifieke melding gegeven of is het even puzzelen wat de oorzaak is. Je kunt dit commando vervolgens uitbreiden en aanpassen.

Proefdraaien met een dry run

Om er zeker van te zijn dat je commando klopt, of om alvast te weten hoe groot de mailbox is, kun je een ‘dry run’ uitvoeren. Je moet daarvoor je commando uitbreiden met het onderstaande.

--dry

Het gehele commando is dan dus zoals hieronder wordt weergegeven. Je terminal laat dan precies zien wat de mappen zijn en hoeveel er dus zou worden verplaatst met een imapsync.

imapsync --host1 serveradres --user1 bronmailadres@mail.nl --password1 "wachtwoord" --host2 serveradres --user2 doelmailadres@mail.nl --password2 "wachtwoord" --dry

Waarom werkt het commando niet?

  • Gegevens — onjuiste gegevens zijn oorzaak nummer één. Test de gegevens van tevoren eens via webmail van de oude provider om te controleren of het wachtwoord wel klopt.
  • Wachtwoord — Bevat je wachtwoord speciale tekens? Plaats het dan tussen enkele aanhalingstekens in het commando. Bijvoorbeeld, als P@$$w0rd je wachtwoord is, dan voer je het als ‘P@$$w0rd’ in.
  • Commando — controleer of er geen type- of kopieerfouten zijn ontstaan in het commando, bijvoorbeeld een onjuist leesteken of een extra spatie.
  • Externe provider — de externe provider staat het verkeer niet toe. Bijvoorbeeld, ze blokkeren de IMAP-verbinding of er ontstaat een blokkade vanwege de transfer van zeer grote e-mailaccounts.
  • Poortnummer en SSL — standaard wordt door imapsync poort 143 zonder SSL gebruikt. Als je bij stap 1 hebt achterhaald dat dit noodzakelijk is, voeg dan het onderstaande aan je commando toe.
--port1 993 --ssl1

Stap 4: bonustips voor een succesvolle imapsync

Graag geef ik je een aantal extra tips die van pas komen als je bijvoorbeeld grote e-mailaccounts hebt, specifieke mappen wilt uitsluiten of merkt dat niet alle e-mails succesvol worden gesynchroniseerd.

Laat je e-mail verhuizen met de verhuisservice!Grote e-mailaccounts

Als je grote mappen of e-mailaccounts importeert, dan kan de verbinding verbroken worden zonder duidelijke foutmelding. De enige melding die je krijgt, is ‘Killed’. Daarnaast kan een grote imapsync erg lang duren.

De onderstaande toevoegingen kunnen helpen om de problemen te omzeilen. Hiermee worden mappen en e-mails niet eerst geteld, waardoor de imapsync sneller verloopt, het nadeel is wel dat je niet weet hoe groot de imapsync precies is en hoe lang hij nog zal duren.

--nofoldersizes --nofoldersizesatend

Met het onderstaande commando wordt het ‘ID’ van de mail gebruikt in plaats van de headers. Er wordt een cache opgebouwd die je ook weer kunt gebruiken als de imapsync wordt onderbroken.

--useuid

Doe je dit, gebruik het dan gelijk bij de eerste poging. Als je al een deel hebt overgezet met het reguliere commando en daarna bovenstaande optie gebruikt, dan is er een kans op dubbele mails. Om te testen of je een groot IMAP-account gaat overzetten, kun je dus het beste eerst een dry run doen.

Mappen uitsluiten of specifieke mappen overzetten

Je kan er voor kiezen om bepaalde mappen niet over te zetten, bijvoorbeeld de prullenbak of verzonden mails. Hiervoor gebruik je dan het volgende commando (de map ‘Sent Items’ als voorbeeld.

--exclude "^Sent Items$"

Je kunt ook kiezen om juist één map te synchroniseren. Hiervoor gebruik je dan het volgende commando (de map ‘Sent Items’ als voorbeeld).

--folder "Sent Items"

Niet alle mails gaan mee

Als mailberichten geen header hebben en worden overgeslagen, bijvoorbeeld in verzonden mails, dan kun je het onderstaande toevoegen.

--addheader

G Suite

Je kunt e-mails vanuit G Suite naar een regulier e-mailaccount bij ons te verhuizen. Hiervoor kan het onderstaande commando worden gebruikt.

imapsync --host1 imap.gmail.com --user1 bronmailadres@mail.nl --password1 "wachtwoord" --authmech1 LOGIN --port1 993 --ssl1 --host2 serveradres --user2 doelmailadres@mail.nl --password2 "wachtwoord"

Let op: soms is het nodig om toegang tot onveilige apps toe te staan. Dat pas je binnen G Suite aan, zie ook deze toelichting van Google.

Laat je e-mail verhuizen!

Ben je niet niet bekend met SSH en laat je dit liever aan ons over? Dat kan! We hebben namelijk een premium dienst, waarbij we een imapsync voor je uitvoeren om zo je e-mailaccounts naar onze hosting te verhuizen.

E-mail verhuizen aanvragen →

P.S. Wil je op de hoogte blijven van alle artikelen, updates, tips en trucs die verschijnen op ons blog? Dat kan! Rechts bovenin via RSS, e-mail, het liken op Facebook, het +1’en op Google+ of het volgen op Twitter.

Deel Deel Deel Deel