Hướng dẫn cài đặt và sử dụng Imapsync để chuyển email về Email Pro tại vHost

Imapsync là một công cụ hoàn toàn miễn phí được sử dụng để sao chép emails từ một mail server đến một mail server khác thông qua giao thức IMAP. Công cụ này hỗ trợ cho các hệ điều hành Linux, Windows và MacOS. Imapsync hoạt động hoàn toàn trên command line và không có giao diện.

Tính năng nổi bật

  • Hỗ trợ cho tất cả các hệ điều hành Linux, Windows, Mac OS X.
  • Imapsync hoạt động tuần tự nên bạn có thể ngưng tác vụ chuyển dữ liệu bất cứ lúc nào và thực hiện lại một cách hiệu quả mà không sợ bị trùng lặp mail.
  • Có thể copy đầy đủ các folders, subfolders.
  • Bạn có thể thực hiện chuyển mail thông qua công cụ online tại: https://imapsync.lamiral.info/X/

Hướng dẫn cài đặt Imapsync

Ở bài viết này, vHost sẽ hướng dẫn bạn thực hiện cài đặt Imapsync trên hệ điều hành Ubuntu 20.04. Thông tin chi tiết và cách cài đặt Imapsync trên các hệ điều hành khác, bạn có thể tham khảo tại link: https://imapsync.lamiral.info/

Bước 1 – Cài đặt các packages cần thiết

Bắt đầu với việc cài đặt các packages cần thiết cho Imapsync.

sudo apt-get install  \
libauthen-ntlm-perl     \
libclass-load-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          \
libmail-imapclient-perl \
libmodule-scandeps-perl \
libnet-dbus-perl        \
libnet-ssleay-perl      \
libpar-packer-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                    \
cpanminus

Tiếp tục cài đặt các modules Python cần thiết.

sudo cpanm Crypt::OpenSSL::RSA Crypt::OpenSSL::Random --force
sudo cpanm Mail::IMAPClient JSON::WebToken Test::MockObject 
sudo cpanm Unicode::String Data::Uniqid

Bước 2 – Cài đặt Imapsync

Download source code từ Github.

git clone https://github.com/imapsync/imapsync.git

Chạy các lệnh sau để cài đặt.

cd imapsync
cp imapsync /usr/bin/

Sau bước này, bạn đã sẵn sàng để chuyển dữ liệu email của mình từ một mail server đến một mail server khác bằng giao thức IMAP.

Hướng dẫn sử dụng Imapsync để chuyển dữ liệu email

vHost sẽ lấy ví dụ về việc chuyển email từ Gmail về server của dịch vụ Email Pro tại vHost. Trước khi tiến hành chuyển dữ liệu, bạn cần đảm bảo rằng cả 2 tài khoản email đều có thể truy cập được thông qua IMAP trên server mà bạn cài đặt Imapsync.

Bước 1 – Tạo App password tài khoản Gmail

  • Chọn tab Security > App passwords:
  • Phần Select app chọn Mail, Select Device chọn Other:
  • Sau đó điền tên tuỳ ý và nhấn Generate:
  • Cuối cùng bạn copy và lưu lại App password để sử dụng:

Bước 2 – Enable IMAP trên tài khoản mail Google

  • Login vào tài khoản Gmail. Click vào biểu tượng bánh răng ở góc phải màn hình và chọn See All Settings:

  • Chọn tab Forwarding and POP/IMAP sau đó chọn Enable IMAP và nhấn Save Changes để lưu lại cài đặt:

Bước 3 – Thực hiện sync email

Trước khi tiến hành chuyển dữ liệu, bạn cần đảm bảo rằng cả 2 tài khoản email đều có thể truy cập được thông qua IMAP trên server mà bạn cài Imapsync. Sau đó bạn có thể chạy câu lệnh đơn giản sau để chuyển email:

imapsync --host1 imap.gmail.com   \
         --user1 user@domain.com 	  \
	 --password1 AppPassword  	  \
	 --ssl1			          \
	 --host2 webmail.vhost.email     \
	 --user2 user@domain.com 	  \
	 --password2 Dest1nat10NPassw0rd  \
	 --ssl2

Trong đó:

  • host1, user1, password1: lần lượt là domain/địa chỉ IP của mail server nguồn (trong tình huống này là imap.gmail.com), tài khoản email và app password đã khởi tạo ở Bước 1.
  • host2, user2, password2: lần lượt là domain/địa chỉ IP của mail server đích, tài khoản email và password trên mail server đích cần chuyển email đến.

Cảnh báo:

vHost không khuyến khích bạn sử dụng câu lệnh đơn giản này bởi vì lý do bảo mật thông tin. Khi thực hiện lệnh trên, bạn sẽ điền password email ngay trên câu lệnh dưới dạng plain text. Vì vậy nếu một người khác có quyền truy cập vào server đang chạy câu lệnh này, họ có thể sử dụng lệnh “history” hoặc câu lệnh “top -c” để xem được password email của bạn. Thay vào đó bạn có thể tạo 2 file chứa password và truyền vào câu lệnh với tham số –passfile1–passfile2. Khi đó câu lệnh Imapsync sẽ có dạng như sau:

imapsync --host1 imap.gmail.com   \
         --user1 user@domain.com 	  \
	 --passfile1 /path/to/passfile1	  \
	 --ssl1			          \
	 --host2 webmail.vhost.email     \
	 --user2 user@domain.com 	  \
	 --passfile2 /path/to/passfile2   \
	 --ssl2

–passfile1–passfile2 lần lượt là đường dẫn đến 2 file chứa password mà bạn đã tạo. Bạn có thể tạo nhanh 2 file này với câu lệnh sau:

echo 'AppPassword' > passfile1
echo 'p@ssw0rd' > passfile2

Thay thế AppPassword bằng password bạn đã tạo ở Bước 1p@ssw0rd là password email ở mail server đích.

Nâng cao

Bạn có thể kết hợp 2 tham số –delete1 –noexpungeaftereach để thực hiện xoá email trên mail server nguồn để tiện kiểm tra mail đã sync đầy đủ hay chưa và có bị sót email nào hay không:

imapsync --host1 imap.gmail.com   \
         --user1 user@domain.com 	  \
	 --passfile1 /path/to/passfile1	  \
	 --ssl1			          \
	 --host2 webmail.vhost.email     \
	 --user2 user@domain.com 	  \
	 --passfile2 /path/to/passfile2   \
         --ssl2                           \
         --delete1 --noexpungeaftereach

Ngoài ra, để có thể chạy nhiều tiến trình Imapsync cùng một lúc bạn cần thêm vào tham số sau trên câu lệnh:

imapsync --host1 imap.gmail.com   \
         --user1 user@domain.com 	  \
	 --passfile1 /path/to/passfile1	  \
	 --ssl1			          \
	 --host2 webmail.vhost.email     \
	 --user2 user@domain.com 	  \
	 --passfile2 /path/to/passfile2   \
         --ssl2                           \
         --pidfile ""

Để rút ngắn thời gian chuyển email, bạn cũng có thể thêm 2 tham số –nofoldersizes–nofoldersizesatend. Tuy nhiên khi thêm 2 tham số này, Imapsync sẽ không tính toán được thời gian dự kiến hoàn tất chuyển email của bạn.

Thời gian để hoàn tất chuyển dữ liệu email phụ thuộc vào dung lượng hộp thư của bạn. Sau khi chuyển dữ liệu hoàn tất, bạn sẽ nhận được output như hình bên dưới ở màn hình console:

Qua bài viết này, bạn đã biết được cách cài đặt cũng như sử dụng Imapsync để chuyển dữ liệu email giữa các mail server. Nếu có gì thắc mắc, bạn đừng ngần ngại gửi yêu cầu hỗ trợ đến email support@vhost.vn. Chúc bạn thành công!

Leave a Comment

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Scroll to Top