Linux

Imapsync Kurulumu ve Toplu Mail Taşıma [Ubuntu]

Imapsync, e-posta hesapları arasında e-posta ve klasörleri senkronize etmek için kullanılır. İki IMAP sunucusu arasında e-posta verilerini kopyalayabilir ve senkronize edebilir. İmapsync, çoğunlukla eski bir e-posta sağlayıcısından yeni bir sağlayıcıya geçerken veya e-posta hesaplarını senkronize etmek istediğinizde kullanılır.

Bu yazıda imapsync kurulumunu ve çok fazla kullanıcıya sahip mailleri kolayca nasıl taşınacağını anlatacağım.

Öncelikle update komutumuzu çalıştırıyoruz.

[root@tmp-vm ~]# apt update

Imapsync çalışabilmesi için standart ubuntu paketlerimizi sunucumuza kuruyoruz.

[root@tmp-vm ~]# apt-get install libauthen-ntlm-perl libclass-load-perl libcrypt-openssl-rsa-perl libcrypt-ssleay-perl libdata-uniqid-perl libdigest-hmac-perl libdist-checkconflicts-perl libencode-imaputf7-perl  libfile-copy-recursive-perl libfile-tail-perl libio-compress-perl libio-socket-inet6-perl libio-socket-ssl-perl libio-tee-perl libjson-webtoken-perl libmail-imapclient-perl libmodule-scandeps-perl  libnet-dbus-perl libnet-ssleay-perl libproc-processtable-perl libreadonly-perl libregexp-common-perl libsys-meminfo-perl libterm-readkey-perl libtest-fatal-perl libtest-mock-guard-perl  libtest-mockobject-perl libtest-pod-perl libtest-requires-perl libtest-simple-perl libunicode-string-perl liburi-perl  libtest-nowarnings-perl libtest-deep-perl libtest-warn-perl make time 

Ardından imapsync dosyalarını çekiyoruz.

[root@tmp-vm ~]# wget -N https://raw.githubusercontent.com/imapsync/imapsync/master/imapsync

Çektiğimiz imapsync dosyasına yürütme iznini veriyoruz.

[root@tmp-vm ~]# chmod +x imapsync

Imapsync test komutunu çalıştırıp test ediyoruz.

[root@tmp-vm ~]# ./imapsync --testslive

imapsync komutunun çalışabilmesi için /usr/bin dizinine kopyalıyoruz.

[root@tmp-vm ~]# cp imapsync /usr/bin/

Daha sonra tek bir mail hesabı için taşıma yapıp çalıştığını görelim.
Bunun için yeni taşıyacağınız sunucuda mail hesabı açmış olmanız gerekmektedir.

Komut içerisinde parolaların özel karakteri olacağı için bir sh dosyası içerisinde çalıştırmak daha uygun olacaktır.

[root@tmp-vm ~]# nano imap-test.sh

Oluşturduğumuz dosyanın içerisine aşağıdaki komutu yapıştırıyoruz. Komut içerisinde host ve mail kullanıcı bilgilerini kendinize göre düzenleyin.

imapsync --host1 mevcut-sunucu.tld --user1 [email protected] --password1 parola --ssl1 --host2 yeni-sunucu.tld --user2 [email protected] --password2 parola --ssl2

CTRL+X Yapıp kaydedip çıkıyoruz.

Sonrasında aşağıdaki komutu çalıştırıyoruz.

[root@tmp-vm ~]# sh imap-test.sh

Mail taşıma işlemi boyutuna göre sürebilmektedir. İşlem tamamlanınca outlook vb. uygulamadan yeni sunucu hostname’ini kullanarak imap bağlantısı yapıp kontrol edebilirsiniz.

İşlem tamalanınca bu işlemi kullanıcılara toplu halde yapabilmek için aşağıdaki gibi bir script dosyası oluşturuyoruz.

[root@tmp-vm ~]# nano bulk-mail-migrate.sh

Oluşturduğumuz script dosyası içerisine aşağıdaki kodları ekleyin.

#!/bin/bash
# Mail sunucu bilgilerini girin
CURRENT_EMAIL_HOST="mevcut-sunucu.tld"
NEW_EMAIL_HOST="yeni-sunucu.tld"
while read line
do
   currentusername=$(echo $line | cut -d: -f1)
   currentpassword=$(echo $line | cut -d: -f2)
   newusername=$(echo $line | cut -d: -f3)
   newpassword=$(echo $line | cut -d: -f4)
imapsync --host1 $CURRENT_EMAIL_HOST --user1 $currentusername --password1 $currentpassword --ssl1 --host2 $NEW_EMAIL_HOST --user2 $newusername --password2 $newpassword --ssl2
done < users.txt

CTRL+X Yaparak kaydedip çıkın ardından aynı dizinde users.txt isimli yeni bir dosya oluşturun.

[root@tmp-vm ~]# nano users.txt

Oluşturduğunuz users.txt içerisine aşağıdaki gibi mevcut ve yeni sunucuda açmış olduğunuz e-posta ve parola bilgilerini girin.

[email protected]:password:[email protected]:password
[email protected]:password:[email protected]:password

Yeni sunucuda açmış olduğunuz hesapların parolası mevcut sunucudakinden farklıysa geçerli parolaları girmeniz gerekmektedir. Daha fazla mail adresi varsa aynı şekilde alt alta yazmanız gerekmektedir. Yine CTRL+X Yapıp kaydedip çıkın.

Ardından aşağıdaki komutu çalıştırın.

[root@tmp-vm ~]# sh bulk-mail-migrate.sh

Taşıma işlemi bu şekilde başlayacaktır. İşlem tamamlanınca mail hesaplarını kontrol edebilirsiniz.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir