Krav
Installation
Synkronisera e-postmeddelanden
Migreringsalternativ
Även om det vanligtvis inte är ett problem att migrera webbplatser, är det ibland svårare att migrera e-postlådor. Detta är särskilt fallet när två servrar inte använder samma programvara. Lyckligtvis, för att förenkla detta steg, finns det många verktyg, inklusive Imapsync, som är den vi ska prata om idag.
Imapsync-verktyget gör det möjligt att synkronisera brevlådor med hjälp av IMAP-protokollet. Detta fungerar bara om du också använder IMAP för att hämta dina e-postmeddelanden, eller om du inte raderar dina e-postmeddelanden från servern med POP-protokollet.
Krav
Innan du installerar några paket på Ubuntu-serverinstansen rekommenderar vi att du uppdaterar systemet.
sudo apt-get update
sudo apt-get -y upgrade
Installation
Först måste du installera de nödvändiga förutsättningarna för att köra Imapsync.
sudo apt-get install \
git \
libauthen-ntlm-perl \
libclass-load-perl \
libcrypt-ssleay-perl \
libdata-uniqid-perl \
libdigest-hmac-perl \
libdist-checkconflicts-perl \
libfile-copy-recursive-perl \
libio-compress-perl \
libio-socket-inet6-perl \
libio-socket-ssl-perl \
libio-tee-perl \
libmail-imapclient-perl \
libmodule-scandeps-perl \
libnet-ssleay-perl \
libpar-packer-perl \
libreadonly-perl \
libsys-meminfo-perl \
libterm-readkey-perl \
libtest-fatal-perl \
libtest-mock-guard-perl \
libtest-pod-perl \
libtest-requires-perl \
libtest-simple-perl \
libunicode-string-perl \
liburi-perl \
make \
cpanminus \
Det kan bli nödvändigt att uppdatera IMAP- och JSON-klienterna med cpanm
.
sudo cpanm Mail::IMAPClient
sudo cpanm JSON::WebToken
Ladda ner den senaste Imapsync-koden från dess officiella Git-förråd.
git clone https://github.com/imapsync/imapsync.git
Navigera till det nyligen klonade förvaret och installera det med följande kommandon på ditt system.
cd imapsync
mkdir -p dist
sudo make install
Du kan kontrollera versionen av Imapsync med följande kommando.
imapsync -v
Synkronisera e-postmeddelanden
Syntaxen för att synkronisera e-postmeddelanden från server1
att server2
endast använda de nödvändiga alternativen visas nedan.
imapsync --host1 server1.imap.tld --user1 [email protected] --password1 password1 --host2 server2.imap.tld --user2 [email protected] --password2 password2
Lösenord
För att undvika att klartext brevlåda lösenord, kan du lagra dem i filer och använd --passfile1
och --passfile2
argument för att automatiskt ladda dem från filer som innehåller lösenorden.
imapsync --host1 server1.imap.tld --user1 [email protected] --passfile2 /home/user/pass1 --host2 server2.imap.tld --user2 [email protected] --passfile2 /home/user/pass2
Anslutningen till IMAP-servern
Det finns flera alternativ för att ansluta Imapsync till din e-postserver, inklusive vilken typ av anslutning som används. Som standard kommer Imapsync att försöka använda SSL eller TLS på porten för 993
att ansluta. Följande är exempel på anslutningen på servern som ska migreras (ersätt 1
med 2
för den andra servern).
--nossl1
för en okrypterad anslutning via port 143
( rekommenderas inte )
--ssl1
för en krypterad anslutning med SSL via port 993
--tls1
för att ansluta till TLS via port 993
Det finns också alternativ för att definiera typen av autentisering. Detta specificeras med --authmech1
och --authmech2
argument, vars möjliga värden är som följer (i stora bokstäver).
Mappar
Mappsynkronisering kan orsaka problem, särskilt om standardmapparna (Inkorg, Skräppost, Arkiv, Skickat), inte heter samma namn på båda e-postservrarna. Imapsync erbjuder flera alternativ för detta:
--automap
för att använda automatisk standardmappigenkänning.
--nomixfolders
för att undvika att slå samman mappar med liknande namn beroende på skiftlägeskänslighet.
--prefix1
för att ta bort ett prefix från mapparna för att migrera.
--prefix2
för att lägga till ett prefix till migrerade mappar.
--skipemptyfolders
för att inte återskapa tomma mappar på målservern.
Migreringsalternativ
För att påskynda e-postmigreringen kan du använda --usecache
argumentet för att tillfälligt lagra mapparna på servern där du installerade Imapsync.
Du kan också ta bort meddelanden från den första servern med --delete1
argumentet.
Slutligen, innan du påbörjar din migrering, tveka inte att använda --dry
argumentet för att kontrollera resultatet av ett kommando, utan att köra det.