Sincronizando QMAIL com GMAIL usando o ImapSync no OpenSUSE

De Wiki Hackstore

Requisitos

  • OpenSUSE Linux
  • ImapSync


Instalando dependências

Adicione os repositórios necessários

zypper ar http://download.opensuse.org/repositories/devel:/languages:/perl/openSUSE_12.1 perl
zypper ar http://download.opensuse.org/repositories/home:/pheinlein/openSUSE_12.1 imapsync
zypper ref


Instale os pacotes

zypper in imapsync perl-Date-Manip perl-Mail-IMAPClient


Para sincronização de qualquer conta de email de um QMAIL para um GMAIL utilizando o ImapSync, basta utilizar o comando abaixo:

imapsync --port1 143 --authmech1 LOGIN --host1 ${HOST_ORIGEM} --user1 "${usuario1}" --password1 "${senha1}" --split1 100 \
--host2 ${HOST_DESTINO} --user2 "${usuario_gmail}" --password2 "${senha_gmail}" --port2 993 --ssl2 --authmech2 LOGIN --split2 100 \
--syncinternaldates --exclude "All Mail|Spam|Trash" --allowsizemismatch


Caso queira apenas testar a conexão, adicione o parâmetro --justlogin ao comando do imapsync.


Script para sincronização utilizando uma lista pré-definida

Crie uma lista no padrão abaixo:

### Padrão de lista de contas ###
#
#{usuario_atual}:{senha_atual}:{usuario_novo}:{senha_novo}
#
# Domínio @hackstore.com.br
raphael@hackstore.com.br:oldpasswd:raphael@hackstore.com.br:newpasswd


Crie um script seguindo o exemplo abaixo:

#!/bin/bash
LISTA="/root/lista-full"
HOST_ORIGEM="192.168.1.2"
HOST_DESTINO="imap.gmail.com"

while IFS=: read usuario1 senha1 usuario_gmail senha_gmail;do

echo -e "\n\nsincronizando conta ${usuario1}...\n\n"
imapsync --port1 143 --authmech1 LOGIN --host1 ${HOST_ORIGEM} --user1 "${usuario1}" --password1 "${senha1}" --split1 100 \
 --host2 ${HOST_DESTINO} --user2 "${usuario_gmail}" --password2 "${senha_gmail}" --port2 993 --ssl2 --authmech2 LOGIN --split2 100 \
 --syncinternaldates --exclude "All Mail|Spam|Trash" --allowsizemismatch

done < ${LISTA}



Dê permissão de execução para o script criado acima:

chmod +x /root/sync/sync_contas_imap.sh