Skip to main content

Di chuyển hộp thư giữa các máy chủ IMAP với IMAP TOOLS

Quản Trị Mạng - IMAP TOOLS là một bộ sưu tập các script Perl, cho phép bạn làm nhiều nhiệm vụ khác nhau với máy chủ IMAP cũng như POP3. Trong bài viết sau chúng tôi sẽ hướng dẫn các bạn di chuyển hộp thư giữa các máy chủ IMAP bằng IMAP TOOLS. Nội dung chủ yếu tập trung vào các script imapcopy.pl (bản sao các tin nhắn và hộp thư từ một máy chủ IMAP khác) và pop3toimap.pl (bản sao tin nhắn POP3 tới máy chủ IMAP). Cả hai script này đều hỗ trợ SSL.
Nếu bạn chỉ định cổng 993 (995 cho POP3) sau đó một kết nối SSL sẽ được khởi tạo. Nếu số cổng là 143 (110 cho POP3) nó sẽ thử một kết nối không phải SSL. Với bất kỳ giá trị khác, các cổng sẽ thử nghiệm xem có hỗ trợ SSL hay không. Nếu vậy, SSL sẽ được sử dụng để tạo kết nối, còn không vẫn có một kết nối không qua SSL.

1. Một số lưu ý

Ở đây chúng tôi sử dụng hai máy chủ:
  • server1.example.com (máy nguồn)
  • server2.example.com (máy đích)
Với yêu cầu là chuyển hộp thư từ địa chỉ sales@example.com (username: sales@example.com, password:secret) trên máy server1.example.com tới hộp thư của địa chỉ sales@example.com trên server2.example.com(username và password tương tự máy chủ kia).

2. Chuẩn bị

Trước khi bắt đầu, chúng ta hãy kiểm tra cả hai hộp thư xem có những gì trong đó (bạn có thể làm điều này bằng một dịch vụ email client bất kỳ như Outlook, Thunderbird hay web mail như SquirrelMail mà chúng tôi sử dụng dưới đây).
server1.example.com:
Di chuyển hộp thư giữa các máy chủ IMAP với IMAP TOOLS
server2.example.com:
Di chuyển hộp thư giữa các máy chủ IMAP với IMAP TOOLS
Sau khi thực hiện hướng dẫn này, ba tin nhắn trong server1.example.com sẽ xuất hiện trongserver2.example.com.

3. Cài dặt IMAP TOOLS

Việc cài đặt IMAP TOOLS trên server1.example.com hay server2.example.com đều không quan trọng, thậm chí bạn có thể cài nó lên một máy thứ 3 mà không có rắc rối nào.
Chúng ta tải về và cài đặt các script IMAP TOOLS theo đường dẫn thư mục sau:
cd /usr/local/
mkdir imap_tools
cd imap_tools
wget http://www.athensfbc.com/imap_tools/files/imap_tools_V1.105.tar.gz
tar xvfz imap_tools_V1.105.tar.gz
Bây giờ thực thi các script Perl:
chmod +x /usr/local/imap_tools/*.pl

4. Di chuyển email giữa hai IMAP server với imapcopy.pl

Chúng ta sử dụng imapcopy.pl bằng lệnh sau:
/usr/local/imap_tools/imapcopy.pl -S host1[:port]/user1/password1 -D host2[:port]/user2/password2
Vì vậy, áp dụng vào trường hợp ở đây là sao chép email từ sales@example.com trên server1.example.com tớisales@example.com trên server2.example.com như sau:
/usr/local/imap_tools/imapcopy.pl -S server1.example.com/sales@example.com/secret -D server2.example.com/sales@example.com/secret
Đầu ra sẽ có dạng như sau:
root@server1:/usr/local/imap_tools# /usr/local/imap_tools/imapcopy.pl -S server1.example.com/sales@example.com/secret -D server2.example.com/sales@example.com/secret
/usr/local/imap_tools/imapcopy.pl starting
Connected to server1.example.com on port 143

Authenticating to server1.example.com as sales@example.com
Connected to server2.example.com on port 143
Authenticating to server2.example.com as sales@example.com

Number of mailboxes to process: 5
   Drafts mailbox is empty
   Junk mailbox is empty

   Trash mailbox is empty
   Sent mailbox is empty
   Copied 3 messages to INBOX
Copied 3 total messages

root@server1:/usr/local/imap_tools#
Lúc này trên server đích (server2.example.com) sẽ nhìn thấy những email từ máy server1.example.com:
Di chuyển hộp thư giữa các máy chủ IMAP với IMAP TOOLS

5. Di chuyển email từ máy chủ POP3 tới máy chủ IMAP với pop3toimap.pl

Bạn có thể sử dụng pop3toimap.pl bằng dòng lệnh sau:
/usr/local/imap_tools/pop3toimap.pl -p POP3host[:port] -i IMAPhost[:port] -u users_file
Trong đó users_file có định dạng như sau:
popUsername password imapUsername password
Vì vậy cần tạo tập tin /usr/local/imap_tools/users_file chứa nội dung các chi tiết đăng nhập:
vi /usr/local/imap_tools/users_file
sales@example.com secret sales@example.com secret
Và cuối cùng, dòng lệnh để sao chép emai từ sales@example.com trên POP3 server: server1.example.com tớisales@example.com trên IMAP server: server2.example.com là:
/usr/local/imap_tools/pop3toimap.pl -p server1.example.com -i server2.example.com -u /usr/local/imap_tools/users_file
Nếu bạn gặp lỗi:
Unexpected response to SELECT INBOX. command: 1 NO Mailbox does not exist, or must be subscribed to.
unexpected APPEND response: 1 NO Access denied for APPEND on INBOX. (ACL "i" required)
Khắc phục bằng cách mở pop3toimap.pl...
vi /usr/local/imap_tools/pop3toimap.pl
… và tạo chú thích tại dòng 123 ($mailbox = 'INBOX' unless $mailbox;) và thêm vào dòng 124 ($mailbox = 'INBOX';):
[...]
   foreach $msgnum ( @popMsgList ) {
      if ( $range ) {
         Log("msgnum $msgnum") if $debug;
         next if $msgnum < $lower;
         next if $msgnum > $upper;
      }
      Log("Fetching POP message $msgnum") if $debug;
      $msg = getPOPMsg( $msgnum, $p_conn );

      getFlag( \$msg, \$flag );
      getDate( \$msg, \$date );

      next if $msg eq '';

      #$mailbox = 'INBOX' unless $mailbox;
      $mailbox = 'INBOX';
      selectMbx( $mailbox, $i_conn );

      if ( insertMsg(*msg, $mailbox, $date, $flag, $i_conn ) ) {
         $copied++;
         $grandTotal++;
         Log("$copied messages migrated") if $copied/100 == int($copied/100);

         #  Delete the message from the POP server if the delete flag is set
         deletePOPMsg( $msgnum, $p_conn ) if $delete;

      }
   }
[...]
Sau đó chạy lại lệnh trên lần nữa:
/usr/local/imap_tools/pop3toimap.pl -p server1.example.com -i server2.example.com -u /usr/local/imap_tools/users_file
Kết quả hiển thị như sau:
root@server1:/usr/local/imap_tools# /usr/local/imap_tools/pop3toimap.pl -p server1.example.com -i server2.example.com -u /usr/local/imap_tools/users_file
pop3toimap 1.3 starting
There are 1 users to be migrated

Connected to server1.example.com on port 110
Connected to server2.example.com on port 143
Migrating sales@example.com on server1.example.com to sales@example.com on server2.example.com (3 messages)


       Summary of POP3 -> IMAP migration

Users migrated  1
Total messages  3

Total bytes     2912

root@server1:/usr/local/imap_tools#
Lúc này trên server đích (server2.example.com) sẽ nhìn thấy những email từ máy server1.example.com:
Di chuyển hộp thư giữa các máy chủ IMAP với IMAP TOOLS
Link tham khảo
Theo QTM - Đ.Hải (Nguồn HowtoForge )

Comments

Popular posts from this blog

Demo sử dụng Veeam để backup / restore / replicate máy ảo

Veeam Backup & Replication là 1 giải pháp mạnh cho việc backup, khôi phục và đảm bảo an toàn dữ liệu hạ tầng ảo đáp ứng hoàn toàn các nhu cầu từ bất kỳ độ lớn hay phức tạp của môi trường ảo hóa Vmware và hiện nay là hỗ trợ cả Hyper-V. Một số quan tâm chính mà giải pháp này mang lại: Hỗ trợ môi trường ảo hóa ESX/ESXi Vmware và Microsoft Hyper-V Tăng cường với kiến trúc backup phân tán cho các môi trường lớn và phúc tạp Ngoài giải pháp backup còn đi kèm theo trong bộ sản phẩm tập trung này là Replication. Hỗ trợ khôi phục nhanh hệ thống trực tiếp (start máy ảo trực tiếp) từ các tập tin backup đã được nén và dedup mà không cần restore các tập tin máy ảo ra hệ thống lưu trữ. Đa dạng hóa các phương thức restore từ một bản backup: restore máy ảo, tập tin máy ảo, tập tin bên trong OS của máy ảo hoặc dữ liệu của một ứng dụng đặc thù như AD, Exchange… Hỗ trợ incremental backup (Forward Incremental và Reversed Incremental Backup ) Tăng cường khả năng lưu trữ với tính năng compress v...

9 ca khúc về mùa xuân đang khiến cư dân mạng say đắm

ICTnews - ICTnews vừa tổng hợp lại số liệu từ 3 trang web nghe nhạc trực tuyến hàng đầu (nhacso.net, nhaccuatui.com và nhac.vui.vn) để rút ra một tuyển tập 9 bài hát về mùa xuân được cư dân mạng yêu thích nhất trong thời điểm Tết cổ truyền đã đến rất gần. Ngày Tết quê em Sáng tác: Từ Huy Trình bày: Nhiều ca sĩ Đề cử bởi nhacso.net, nhaccuatui.com và nhac.vui.vn. Nhận xét chung: “Tết Tết Tết Tết đến rồi”, Tết đến thật rộn rã tươi vui trong bài hát này, đồng thời mang vẻ đẹp rất bình dị, truyền thống và chiếm được tình cảm của mọi người. Con bướm xuân Trình bày: Hồ Quang Hiếu Đề cử bởi nhaccuatui.com và nhac.vui.vn. Nhận xét chung: Nhịp điệu gấp gáp đầy chất lửa, lời bài hát gợi cảm. Mùa xuân ơi Sáng tác: Nguyễn Ngọc Thiện Trình bày: Dương Triệu Vũ, Tammy Nguyễn Đề cử bởi nhacso.net và nhac.vui.vn Nhận xét chung: Bài hát tràn đầy s...

Whatsapp có thể miễn phí sau khi về với Facebook

(GenK.vn) - Facebook sẽ không bắt Whatsapp phải gánh quảng cáo sau khi thâu tóm ứng dụng này. Ngược lại, với việc đặt mục tiêu phát triển người dùng Whatsapp là trên hết rất có thể Facebook sẽ cho miễn phí Whatsapp. Chuyện "thâm cung bí sử" về thương vụ Facebook - WhatsApp Đồng sáng lập Whatsapp từng phải sống bằng “tem phiếu” trợ cấp Đồng sáng lập WhatsApp từng bị Facebook đánh trượt khi xin việc Vì sao Whatsapp "đắt" hơn Viber 20 lần? Facebook chi 19 tỷ USD mua Whatsapp Sức phát triển kinh khủng của Whatsapp, so sánh với các ứng dụng khác trong cùng thời điểm 4 năm sau khi ra mắt. Trước đây   Whatsapp   thu phí tải về 0,99 USD, nhưng sau đó hãng đã bỏ hình thức thu phí này. Từ đó, Whatsapp miễn phí tải về, nhưng từ năm thứ 2 người dùng sẽ bị thu phí 0,99 USD mỗi năm. Cả CEO Facebook Mark Zuckerberg, CFO David Ebersman và CEO Whatsapp Jan Koum đều nói rằng họ sẽ không đặt nặng mục tiêu lợi nhuận trong vòng vài năm tới, vì thế người dùng Wh...