Szeretném az IMAP fiókomat az egyik szerverről a másikra átköltöztetni. Több eszközt is találtam erre a feladatra, de egyelőre egyiket sem sikerült életre keltenem.
Amiket találtam: imapsync, isync(mbsync), imapcopy, (és még talán az offlineimap3 is lehetne).
Mivel egyiket sem sikerült valós másolásra bírnom, úgy tűnt, az imapsync lenne a legjobb, ebben próbáltam elmélyedni.
Első lépésként az éles fiókomról a helyi gépemre szeretnék egy backup-ot csinálni, de már ez sem megy.
Az működik, hogy listát ad a forrás IMAP fiókról, a benne található mappákról és levelekről. De ha mindezt egy channel-be foglalom, akkor a mappákat ugyan létrehozza a helyi könyvtáramban, de egyetlen másolásra méltó levelet sem talál. Ilyen üzeneteket ad az IMAP mappákra:
Created INBOX in local-directory
INBOX is not selectable: skipping
A fura számomra, hogy ugyanaz a konfiguráció listázás esetén mutatja a leveleket, másolás esetén nem. Arra nem jöttem rá, hogy hogyan lehetne kiválasztani a fenti mappát béldául, hogy selectable legyen, és másolja is. A
pat *
konfigurációs beállítás meg van adva.
Ha valaki tudja, hogyan kell imapsync-cel másolni és elárulná, netán lenne valami működő config mintája is, azt megköszönném.
Vagy, ha van más parancssoros eszköz erre, amit nem találtam meg, azért is hálás lennék.
Megoldás:
Csak imap-imap szinkronizációt csinál.
Hozzászólások
Én így oldotta meg:
thunderbirdet feltelepítettem, letöltöttem helyi gépre az összes levelet, mappát, stb.
beleraktam az új imap fiókot a thunderbirdbe, majd az új helyre egyszerűen átmásoltam thunderbirden belül a leveleket. Az meg felmásolta az IMAP szerverre (hiszen legyen má' szinkronban)
Ez egy mappánál még okés, de ha több is van, akkor már nem optimális.
Mindenképp parancssoros megoldást keresek, nem csak egy fiókra szeretném majd használni.
./imapsync --host1 mail.domainem.hu --user1 user@domainem.hu --password1 MASKED --host2 192.168.0.24 --user2 user@domainem.hu --password2 MASKED --ssl1 --delete1 --folderrec INBOX.Archives
Így archiválom a felhasználók leveleit, ahol host2 a mail archive szerver címe. --folderrec INBOX.Archives kapcsolóval az Archives mappa tartalmát másolja csak át. Ha mindent szeretnél átmásolni szerintem semmilyen kapcsoló nem kell számodra.
Igen, úgy tűnik, az IMAP szerverek közötti másolás tényleg működik. Ott buktam el, hogy először a helyi fájlrendszerbe akartam egy backup-ot csinálni. Na, az azóta sem megy. De szerverek között tényleg jól másol. Köszönöm.
Azért nem tudsz helyi FS-re másolni vele, mert nem tudja... Le is van írva a FAQ-ban.
Az imapsync egy elképesztően jól működő eszköz IMAP szerverek közötti mindenféle műveletre egyébként.
Ha mindenképp helyi másolatot szeretnél (az nem csak tesztre kellett volna), akkor én a helyedben feldobnék egy Dovecot-ot alaptelepítéssel, és abba beleszinkronizálnám a mentendő fiókot. Kapásból tudod tesztelni a jóságát (akár egy mellé feldobozz Roundcube segítségével), sőt, el is éred az archívumot bármikor, kényelmesen.
Köszi! Úgy tűnik, nem voltam elég alapos. pedig így is rengeteg időm elment vele. Valószínűleg az vezetett meg, hogy van local backup példája, és a helyi fájlrendszeren létre is hozta a mappákat, mint mailbox fájlokat. Azt vártam, hogy belekerülnek majd a levelek. Nem lett volna elvárásom, hogy maildir formátumban legyen a lokális mentés. És nekem nem volt egyértelmű, hogy a nincs kiválasztva egy mappa, az formátumhiba.
Szerencsére a fájlrendszert csak tesztnek akartam, és imap-ok között valóban egészen jól működik.
Azt nem tudom, érdemes-e a message-id helyett md5 azonosítást használni, hogy a forward-ok/copy-k mennyire hozhatnak létre azonos message-id-t?
Lehet, kézzel kellene egyeztetni a főbb mappákat az
Esetleg még ezeket az opciókat kellene próbálni (de ez már csak hasraütés):
--nocheckselectable
--noabletosearch
Official imapsync migration tool ( release 2.264 ) (lamiral.info)