imapsync es un script en perl que permite copiar mails entre cuentas imap. Si bien es medio molesto de usar, y consume recursos a lo pavote, no encontré ninguna otra herramienta suficientemente flexible.
Tabla de Contenidos
El problema es que la versión incluida en debian/ubuntu (a mediados de 2009) es la 1.252, la más nueva en freshmeat.net es la 1.255, pero en el sitio del autor ya tenemos la 1.267 (que pese a haberse publicado en octubre de 2008, todavía no llegó a debian/ubuntu).
Para peor, una de las dependencias que tiene es Mail::IMAPClient, pero no anda con las versiones 3.X (que son las que vienen empaquetadas en los nuevos debian/ubuntu, con lo cual tenemos que vajarnos la vieja Mail::IMAPClient 2.2.9 e instalarla a mano (el resto de las dependencias funcionan OK con los paquetes de ubuntu).
Instalando dependencias empaquetadas
Las librerías Perl que funcionan con los paquetes de ubuntu se instalan directamente con apt-get:
sudo apt-get install libdate-manip-perl libdigest-hmac-perl \
libio-socket-ssl-perl libterm-readkey-perl libparse-recdescent-perl
Instalando Mail::IMAPClient 2.2.9
mkdir -pv ~/soft cd ~/soft wget http://search.cpan.org/CPAN/authors/id/D/DJ/DJKERNEN/Mail-IMAPClient-2.2.9.tar.gz tar xvzf Mail-IMAPClient-2.2.9.tar.gz cd Mail-IMAPClient-2.2.9/ perl Makefile.PL # poner datos de cuenta IMAP para testing (no anda con cuentas que requieran SSL/TLS). make test sudo make install
Instalando imapsync
mkdir -pv ~/soft
cd ~/soft
VERSION=1.267
wget http://www.linux-france.org/prj/imapsync/dist/imapsync-${VERSION}.tgz
tar xvzf imapsync-${VERSION}.tgz
cd imapsync-${VERSION}/
make
# sudo make installEl make install instala en /usr/bin y no es configurable para poner en /usr/local así que lo hacemos a mano:
sudo install -Dv -m 0755 imapsync /usr/local/bin/imapsync sudo install -Dv -m 0644 imapsync.1 /usr/local/man/man1/imapsync.1
.