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

Discussion in 'Mạng - Internet' started by post, Apr 29, 2014.

  1. post

    post Well-Known Member

    Joined:
    Dec 12, 2013
    Messages:
    1,497
    Likes Received:
    143
    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.

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

    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ỉ [email protected] (username: [email protected], password: secret) trên máy server1.example.com tới hộp thư của địa chỉ [email protected] 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:

    [​IMG]

    server2.example.com:

    [​IMG]

    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 trong server2.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ừ [email protected] trên server1.example.com tới [email protected] trên server2.example.com như sau:

    /usr/local/imap_tools/imapcopy.pl -S [email protected]/secret -D [email protected]/secret

    Đầu ra sẽ có dạng như sau:



    [email protected]:/usr/local/imap_tools# /usr/local/imap_tools/imapcopy.pl -S [email protected]/secret -D [email protected]/secret
    /usr/local/imap_tools/imapcopy.pl starting
    Connected to server1.example.com on port 143

    Authenticating to server1.example.com as [email protected]
    Connected to server2.example.com on port 143
    Authenticating to server2.example.com as [email protected]

    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

    [email protected]:/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:

    [​IMG]

    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

    [email protected] secret [email protected] secret

    Và cuối cùng, dòng lệnh để sao chép emai từ [email protected] trên POP3 server: server1.example.com tới [email protected] 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:



    [email protected]:/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 [email protected] on server1.example.com to [email protected] on server2.example.com (3 messages)


    Summary of POP3 -> IMAP migration

    Users migrated 1
    Total messages 3

    Total bytes 2912

    [email protected]:/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:

    [​IMG]

    Link tham khảo

    IMAP TOOLS: http://www.athensfbc.com/imap_tools/

    [Broken External Image]:http://pixel.quantserve.com/pixel/p-89EKCgBk8MZdE.gif

    Theo: Quản trị mạng
     

Share This Page

  • Get Help Fast

    • 0919.47.6686
    • Skype: Vinafix
    • [email protected]
    • www.vinafix.vn
    • www.vinafix.net

    Payment Methods
  • Upgrades

  • Calculate the voltage

    Input V in : V
    R a : Ω
    R b : Ω
    Output V out : V
iHax Community