====== Migrace pošty pomocí IMAPu ====== Pokud potřebujeme migrovat mailboxy mezi servery, můžeme na to velmi jednoduše využít protokol IMAP pomocí skriptu **imapcopy** \\ ===== Instalace ===== * Stáhneme balíček se skripty = [[http://imaputils.googlecode.com/files/imaputils-1.0.2.tar.gz]], pokud není dostupné, můžete stáhnout skripty z {{:howto:hosting:imaptool.tar|našeho mirroru}}. * V debianu je potřeba doinstalovat balíček ''%%libio-socket-ssl-perl%%'' ===== Migrace pošty ===== * Na novém serveru založíme čisté mailboxy * Napíšeme si bashový skript na migraci mailboxů (pokud jich migrujeme více, jinak nám postačí jen zadání příkazu) #!/bin/bash /usr/local/bin/iu-copy -R -S src.server.cz:993/test@domena.cz/heslo -D dst.server.cz:993/test@domena.cz/heslo /usr/local/bin/iu-copy -R -S src.server.cz:993/test2@domena.cz/heslo -D dst.server.cz:993/test2@domena.cz/heslo /usr/local/bin/iu-copy -R -S src.server.cz:993/test3@domena.cz/heslo -D dst.server.cz:993/test3@domena.cz/heslo //Pokud spouštíme skript iu-copy přímo na serveru, kam migrujeme poštu, můžeme dst.server.cz:993 nahradit za''%%localhost:143%%'', čímž bude celá operace rychlejší.// * Po spuštění skriptu uvidíme zhruba tento výpis - zde ukazuji jen migraci jednoho mailboxu: gandalf@sirius:~/bin# ./iu-copy -R -S iris.spoje.net:993/test@domena.cz/heslo -D localhost:143/test@domena.cz/heslo ./iu-copy starting Connected to iris.spoje.net on port 993 Authenticating to iris.spoje.net:993 as test@domena.cz Connected to localhost on port 143 Authenticating to localhost:143 as test@domena.cz Number of mailboxes to process: 6 Copied 3 messages to INBOX.Archiv.2014 Copied 1 messages to INBOX.Sent INBOX.Archiv mailbox is empty INBOX.Drafts mailbox is empty INBOX.Trash mailbox is empty Copied 2969 messages to INBOX Copied 2973 total messages * Hotovo. Nyní se přihlaste pomocí webmailu nebo poštovního klienta a zkontrolujte, jestli je obsah schránky kompletní. Pokud potřebujete jen aktualizovat změny do již přemigrované schránky, můžete ještě do příkazového řádku přidat parametr **-U** Pro úplnost ještě uvádím kompletní parametry skriptu iu-copy: \\ usage: iu-copy -S sourceHost/sourceUser/sourcePassword [/CRAM-MD5] -D destHost/destUser/destPassword [/CRAM-MD5] -d debug -I show IMAP protocol exchanges -L logfile -m mailbox list (eg "Inbox, Drafts, Notes". Default is all mailboxes) -R include submailboxes when used with -m -e exclude mailbox list -r remove msgs from source mbx after copying -p put copied mailboxes under a root mailbox -A copy to local mailbox from scrmbx -x source (eg, -x '. INBOX.' -y destination -i initialize mailbox (remove existing messages first -M mailbox map file. Maps src mbxs to dst mbxs. Each line in the file should be 'src mbx:dst mbx' -q quiet mode (still writes to the logfile) -t -T copy custom flags (eg, $Label1,$MDNSent,etc) -a copy only messages after this date -b copy only messages before this date -X Skip any message exceeding this size -U update mode, don't copy messages that already exist -B Starting point for message fetch -E Ending point for message fetch