Apa yang bisa kami bantu?

A. Pendahuluan

Imapsync adalah suatu metode untuk melakukan sinkronisasi email berbasis IMAP antara dua server yang berbeda dimana dapat menyalin data dari mailbox satu ke mailbox lain, dimana semua data inbox email lama akan di migrasi/ditransfer ke inbox email baru.

Dalam hal ini proses migrasi email menggunakan Imapsync CLI di artikel ini akan menggunakan Server dengan Linux OS yaitu Almalinux 8 / Rocky Linux 8. 

Gambar 1. Informasi OS Server

Berikut langkah-langkah penggunaan Imapsync untuk migrasi email.

B. Konfigurasi

1. Instalasi Imapsync

a. Untuk install imapsync dapat masuk ke server melalui ssh terlebih dahulu. Setelah itu jalankan command berikut untuk install imapsync pada server.

sudo yum install imapsync
Gambar 2. Install Imapsync

Setelah itu dapat menginputkan “y” untuk konfirmasi instalasi. Apabila berhasil akan terdapat informasi installed dan complated seperti gambar berikut :

Gambar 3. Status instalasi imapsync

b. Memastikan bahwa Imapsync sudah terinstal pada VM dan versi yang digunkan, dapat dengan cara mengetik perintah :

 imapsync -v atau imapsync --version
Gambar 4. Cek versi Imapsync

2. Konfigurasi Imapsync

Sebelum melakukan proses imapsync, memerlukan persiapan file konfigurasi imapsync dan list akun email yang akan di proses. Hal ini bertujuan untuk mempermudah proses migrasi email dengan akun email lebih dari satu.

a. Buat file konfigurasi imapsync dengan nama “ imapsync.sh ” ( Untuk nama file dapat di sesuaikan), tambahkan konfigurasi berikut pada file yang telah dibuut :

#!/bin/bash
############# CONFIGURATION ###########
ACCOUNTS=accounts_list.txt #List akun email.
SRCHOST= 103.**.**.4 #IP atau Nama Hostname Server email lama.
DSTHOST= 103.*.*.*6 #IP atau Nama Hostname Server email baru.
#######################################
EXTRALOG=sync.log
TSFORMAT="%Y-%m-%d %H:%M:%S"
# loop through all accounts
grep -ve '^#.*' $ACCOUNTS | while read SRCUSER SRCPW DSTUSER DSTPW
do
   MESSAGE="[date +"$TSFORMAT"] synchronizing $SRCUSER@$SRCHOST to $DSTUSER@$DSTHOST ..."
   echo $MESSAGE
   echo $MESSAGE >> $EXTRALOG
   # security: temporarly store passwords to files in order
   # not to pass them directly by command line option
   echo -n $SRCPW > imap-secret-src
   echo -n $DSTPW > imap-secret-dst
   ## VARIANT 1) source host supports SSL/TLS (imap port 993)
   # imapsync --host1 $SRCHOST --ssl1 --port1 993 --authmech1 PLAIN --user1 $SRCUSER --passfile1 imap-secret-src \
   #         --host2 $DSTHOST --ssl2 --port2 993 --authmech2 PLAIN --user2 $DSTUSER --passfile2 imap-secret-dst \
   #         --delete2 --delete2folders
     imapsync --host1 $SRCHOST --ssl1 --port1 993 --authmech1 PLAIN --user1 $SRCUSER --passfile1 imap-secret-src \
              --host2 $DSTHOST --ssl2 --port2 993 --authmech2 PLAIN --user2 $DSTUSER --passfile2 imap-secret-dst \
              --automap \
              --skipcrossduplicates \
              --folderlast "[Gmail]/All Mail" \

            # --delete2 --delete2folders
            # --regextrans2 "s/INBOX.INBOX/INBOX/"

   ## VARIANT 2) source host does not support SSL/TLS (imap port 143)
   #imapsync --host1 $SRCHOST        --port1 143 --authmech1 PLAIN --user1 $SRCUSER --passfile1 imap-secret-src \
   #         --host2 $DSTHOST --ssl2 --port2 993 --authmech2 PLAIN --user2 $DSTUSER --passfile2 imap-secret-dst \
   #         --delete2 --delete2folders
   ## VARIANT 3) source host has different INBOX prefix, transform it while syncing
   #imapsync --host1 $SRCHOST --ssl1 --port1 993 --authmech1 PLAIN --user1 $SRCUSER --passfile1 imap-secret-src \
   #         --host2 $DSTHOST --ssl2 --port2 993 --authmech2 PLAIN --user2 $DSTUSER --passfile2 imap-secret-dst \
   #         --delete2 --delete2folders
   #         --regextrans2 "s/INBOX.INBOX/INBOX/"
   rm -f imap-secret-*
done
MESSAGE="[date +"$TSFORMAT"] imapsync sucessfully completed!"
echo $MESSAGE
echo $MESSAGE >> $EX

Keterangan :

ACCOUNTS : Nama File Akun List email yang akan di migrasikan.

SRCHOST : Informasi IP atau Nama Hostname hosting / server email lama.

DSTHOST : Informasi IP atau Nama Hostname hosting / server email baru.

b. Buat file baru untuk menampung list email akun yang akan di migrasikan dengan nama “account_list.txt” (Nama file dapat di sesuaikan), pada file dapat menginputkan detail seperti berikut :

akunemail@namadomain.id passwordEmail akunemail@namadomain.id passwordEmail 
akunemail@namadomain.id passwordEmail akunemail@namadomain.id passwordEmail 
akunemail@namadomain.id passwordEmail akunemail@namadomain.id passwordEmail 

Note : Untuk konfigurasi diatas pada baris kedua pertama merupakan akses login ke email server lama, untuk baris ke tiga dan empat merupakan akses login ke akun email server baru.

3. Proses Imapsync

Jalankan command berikut untuk melakukan proses imapsync.

./imapsync.sh

Proses imapsync ajan berjalan seperti berikut :

Gambat 5. Proses Imapsync

Apabila berhasil terhubung untuk, pada proses imapsync akan terdapat informasi transfer data seperti berikut :

Gambar 6. Proses Transfer Data Email

Tunggu proses imapsync hingga selesai, setelah setelai proses imapsync akan terdapat informasi berikut :

Gambar 7. Proses Imapsync Selesai.

4. Verifikasi

Kemudian Langkah terakhir dapat dapat melakukan verifikasi data pada webmail server baru, apakah data di email baru sama tidaknya dengan server email lama. Silahkan login pada kedua webmail untuk pengecekkan. Sebagai contoh, tampilan webmail akan seperti berikut :

Detail Data email pada Webmail server lama :

Gambar 8. Detail Data email pada Webmail server lama

Detail Data email pada Webmail server baru :

Gambar 9. Detail Data email pada Webmail server baru

C. Kesimpulan

Kesimpulannya adalah Imapsync memerlukan password akun mailbox lama yang akan di sinkronisasikan ke mailbox yang baru, hal ini sangat repot karena kita harus melakukan setting password terlebih dahulu pada setiap akun pada mailbox yang lama lalu bisa disamakan untuk password-password guna di sinkronisasi pada mailbox yang baru, Imapsync ini cocoknya digunakan untuk jumlah akun email yang tidak terlalu banyak/sedikit, kemudian imapsync juga tidak bisa migrasi contacts dan calender yang telah di set sebelumnya, namun kelebihan nya adalah proses dapat dilakukan secara incremental, teratur dan recursive ke setiap folder mailbox.

 

Semoga artikel yang telah kami sampaikan dapat membantu Anda. Anda juga dapat menemukan artikel lainnya melalui halaman Knowledge Base Biznet Gio. Jika Anda masih memiliki kendala teknis terkait dengan layanan Biznet Gio, Anda dapat menghubungi kami melalui email support@biznetgio.com atau dapat melalui telpon (021) 5714567.