Migração e sincronização de e-mail com o Imapsync

Sierti migração de email imapsync

 

Diariamente, estamos cada vez mais lidando com o meio digital. O e-mail se tornou uma ferramenta essencial no dia a dia de várias pessoas para a troca de correspondências pela internet. Ao mesmo tempo, muitas empresas e usuários que estão inteiramente conectados tem uma demanda altíssima no serviço de e-mail.

Pode chegar a um dia em que vamos precisar migrar todas as nossas mensagens para um novo e-mail. Porém, esta é uma tarefa que se feita manualmente pode ser inviável se tivermos centenas de mensagens dentro do e-mail.

É nesse caso que pessoas que estão envolvidas diretamente na área de TI, podem utilizar de diversos scripts disponibilizados na internet para facilitar este trabalho. Por isso, venho demonstrar como utilizar uma ferramenta para realizar a transferências (migração de e-mail) de e-mails de forma rápida e segura, chamada imapsync.

 

Instalação

O imapsync possibilita a conexão entre dois e-mails para realizar uma transferência direta das mensagens do e-mail de origem ao e-mail de destino utilizando o protocolo IMAP. Foi criada por Gilles LAMIRAL e está disponível gratuitamente sobre licença GPL.

Neste tutorial, vamos utilizar esta ferramenta em ambiente Linux através do terminal de comando. Para que tenha maior proveito na utilização, recomendo que tenha familiaridade com ambientes Linux antes de realizarem este processo.

Precisando de ajuda para migrar ou transferir suas mensagens de e-mail? Converse com um especialista Sierti. Clique aqui.

Com acesso ao terminal de comando do Linux, utilizamos o comando:

Ubuntu: apt-get install imapsync
CentOs: yum install imapsync

Se estiver utilizando o sistema operacional Linux CentOS, este erro poderá acontecer:

No package imapsync available.
Error: Nothing to do

Neste caso, ele está informando que não há nenhum repositório contendo o imapsync para instalação. Devemos então habilitar o repositório epel para resolver este problema.

AVISO: Eu não recomendo o uso do repositório epel em ambientes de produção (Servidores, Hosting Compartilhado e etc), pois, ele contem pacotes de terceiros não oficiais da distribuição do CentOS Linux. Estejam ciente do risco ao permitir que sua distribuição busque por pacotes em repositórios que não há 100% de validação. Caso desejar mesmo assim habilitar o repositório epel para utilizar o imapsync, lembre-se de desativa-lo após a instalação do imapsync para manter a integridade e segurança do seu servidor linux.

Instalando repositório epel:

CentOS 6 32bit

wget http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
sudo rpm -ivh epel-release-6-8.noarch.rpm

CentOS 6 64bit

wget http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
rpm -ivh epel-release-5-4.noarch.rpm

CentOS 7 64bit:

wget http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm 
sudo rpm -Uvh epel-release-7-5.noarch.rpm

Feita a instalação do repositório e do pacote imapsync, é hora de começarmos a trabalhar com a ferramenta propriamente dita.

 

Sintaxe e Parâmetros

No terminal, a sintaxe mais comum para utilizar o imapsync é:

imapsync --host 1 nameserver/IP  --user1 endereçoDoEmail --password1 senha --host 2 nameserver/IP  --user2 endereçoDoEmail --password2 senha

Vamos entender o que cada parâmetro desta sintaxe significa:

  • host1 & host2: Indicam o servidor IMAP de origem e destino. Você pode tanto utilizar o Nameserver quanto o próprio IP. (Parâmetro obrigatório)
Exemplo: --host1 198.65.11.54 ... --host2 imap.sigaoexemplo.com.br
  • user1 & user2: Servem para indicar o usuário tanto do servidor de origem quanto o de saída, podemos indicar diretamente o email que queremos acessar.
Exemplo: --user1 icaro@sigaoexemplo.com.br ... --user2 icaro
  • password1 & password2: Utilizado para indicar a senha de acesso a conta de e-mail. Note que neste método a senha ficará exposta na linha de comando do Linux e, por fim, no histórico de comandos. Porém, existe uma forma onde podemos utilizar um arquivo de texto para armazenar essa senha que será demonstrado mais à frente.
Exemplo: --password1 145785@tre --password2 teste123

Com essa sintaxe, já podemos fazer uma transferência comum das mensagens de uma conta de e-mail para outra:

imapsync --host1 teste.sigaoexemplo.com.br --user1 teste@sigaoexemplo.com.br --password1 teste123 --host2 imap.server.com --user2 icaro@server.com.br --password2 5487954#%w

Bem simples, não?

Mas nem todos os servidores de e-mail vão validar apenas com essa sintaxe. Isso acontece pois alguns servidores necessitam indicar que estão utilizando configurações diferentes. Servidores de email utilizam disso para aumentar a segurança do serviço. É necessário, então, se valer de mais alguns parâmetros para que possamos acessar com sucesso os servidores de e-mail mais exigentes.

 

Parâmetros complementares

  • ssl1 & ssl2: Parâmetro que informa se alguns dos servidores de email, ou os dois, estão usando certificado de segurança SSL.
  • authmech1 & authmech2: Indica a autenticação que os servidores de e-mail estão utilizando
  • port1 & port2: Portas que estão sendo utilizadas para fazer conexão IMAP caso não estejam utilizando a porta padrão.
  • passfile1 & passfile2: Este parâmetro permite que você coloque a senha dentro de um arquivo de texto, evitando que sua senha apareça nas linhas de código e que ficam registrados no histórico de comandos do Linux.
  • idatefromheader: Esta opção diz para manter a data e hora original do cabeçalho do e-mail. Caso não utilize esse parâmetro, as mensagens poderão ficar com a data da transferência, e isso atrapalha quando queremos realizar uma pesquisa por data.

Veja um exemplo completo utilizando alguns desses parâmetros :

imapsync  --host1 imap.icaro.com.br --port1 993 --ssl1 --user1 icaro --authmech1 LOGIN --ssl1 --passfile1 senha1.txt  --host2 imap.icaro2.com --port2 993 --ssl2 --user2 backup --authmech2 LOGIN --passfile2 senha2.txt --idatefromheader

Cada servidor de email pode exigir parâmetros adicionais para realizar a autenticação do IMAP. Consulte seu provedor de e-mail para verificar quais comandos você terá que utilizar para executar o programa imapsync corretamente.

 

Conclusão

Você pode usar o imapsync para automatizar o trabalho criando uma rotina CRON dentro do Linux. Ele vai estar sempre sincronizando mensagens de email diferentes, facilitando e muito o seu trabalho. Além disso, em uma tarefa CRON, você poderá indicar diversas mensagens de email para serem sincronizados ao mesmo tempo. Com estes parâmetros adicionais, você pode customizar o imapsync de diversas maneiras afim de atender sua necessidade.

Caso tenha gostado do imapsync e deseje se aprofundar ainda mais nas parametrizações para te ajudar a realizar esta tarefa, consulte o site do desenvolvedor para obter um manual completo de todos os parâmetros e configurações.

Precisando de uma solução de e-mail profissional para sua empresa? Converse com um especialista Sierti e tenha você também um e-mail corporativo. Clique aqui!