Embora a migração de sites geralmente não seja um problema, às vezes é mais difícil migrar caixas de e-mail. Esse é especialmente o caso quando dois servidores não usam o mesmo software. Felizmente, para simplificar esta etapa, existem muitas ferramentas, incluindo o Imapsync, sobre as quais falaremos hoje.
A ferramenta Imapsync possibilita a sincronização de caixas de correio usando o protocolo IMAP. Isso só funcionará se você também usar o IMAP para recuperar seus e-mails ou se não apagar seus e-mails do servidor com o protocolo POP.
Requisitos
- Um usuário sudo .
- Uma instância do servidor Site & Site Ubuntu 16.04 LTS.
Antes de instalar qualquer pacote na instância do servidor Ubuntu, é recomendável atualizar o sistema.
sudo apt-get update
sudo apt-get -y upgrade
Instalação
Primeiro, você precisa instalar os pré-requisitos necessários para executar o Imapsync.
sudo apt-get install \
git \
libauthen-ntlm-perl \
libclass-load-perl \
libcrypt-ssleay-perl \
libdata-uniqid-perl \
libdigest-hmac-perl \
libdist-checkconflicts-perl \
libfile-copy-recursive-perl \
libio-compress-perl \
libio-socket-inet6-perl \
libio-socket-ssl-perl \
libio-tee-perl \
libmail-imapclient-perl \
libmodule-scandeps-perl \
libnet-ssleay-perl \
libpar-packer-perl \
libreadonly-perl \
libsys-meminfo-perl \
libterm-readkey-perl \
libtest-fatal-perl \
libtest-mock-guard-perl \
libtest-pod-perl \
libtest-requires-perl \
libtest-simple-perl \
libunicode-string-perl \
liburi-perl \
make \
cpanminus \
Pode ser necessário atualizar os clientes do IMAP e JSON com cpanm
.
sudo cpanm Mail::IMAPClient
sudo cpanm JSON::WebToken
Baixe o código mais recente do Imapsync de seu repositório Git oficial.
git clone https://github.com/imapsync/imapsync.git
Navegue até o repositório recém-clonado e instale-o com os seguintes comandos em seu sistema.
cd imapsync
mkdir -p dist
sudo make install
Você pode verificar a versão do Imapsync usando o seguinte comando.
imapsync -v
Sincronizando E-mails
A sintaxe para sincronização de e-mails server1
da server2
utilizar apenas as opções necessárias é mostrado abaixo.
imapsync --host1 server1.imap.tld --user1 [email protected] --password1 password1 --host2 server2.imap.tld --user2 [email protected] --password2 password2
Senhas
Para evitar a inserção de senhas de caixa de correio de texto sem formatação, você pode armazená-las em arquivos e usar os argumentos --passfile1
e --passfile2
para carregá-los automaticamente a partir dos arquivos que contêm as senhas.
imapsync --host1 server1.imap.tld --user1 [email protected] --passfile2 /home/user/pass1 --host2 server2.imap.tld --user2 [email protected] --passfile2 /home/user/pass2
A conexão com o servidor IMAP
Várias opções estão disponíveis para conectar o Imapsync ao seu servidor de e-mail, incluindo o tipo de conexão usado. Por padrão, o Imapsync tentará usar SSL ou TLS na porta 993
para se conectar. Os seguintes são exemplos para a ligação no servidor para migrar (substitua 1
com 2
para o segundo servidor).
--nossl1
para uma conexão não criptografada via porta143
( não recomendado )--ssl1
para uma conexão criptografada com SSL via porta993
--tls1
conectar-se ao TLS via porta993
Existem também opções para definir o tipo de autenticação. Isso é especificado com os argumentos --authmech1
e --authmech2
, cujos valores possíveis são os seguintes (em maiúsculas).
PLAIN
LOGIN
CRAM-MD5
Pastas
A sincronização de pasta pode causar problemas, especialmente se as pastas padrão (Caixa de Entrada, Spam, Arquivo, Enviado) não tiverem o mesmo nome em ambos os servidores de email. O Imapsync oferece várias opções para isso:
--automap
para usar o reconhecimento automático de pasta padrão.--nomixfolders
para evitar mesclar pastas com um nome semelhante de acordo com a diferenciação entre maiúsculas e minúsculas.--prefix1
para remover um prefixo das pastas para migrar.--prefix2
para adicionar um prefixo às pastas migradas.--skipemptyfolders
para não recriar pastas vazias no servidor de destino.
Opções de migração
Para acelerar a migração de email, você pode usar o --usecache
argumento para armazenar temporariamente as pastas no servidor em que você instalou o Imapsync.
Você também pode excluir mensagens do primeiro servidor com o --delete1
argumento.
Finalmente, antes de iniciar sua migração, não hesite em usar o --dry
argumento para verificar o resultado de um comando, sem executá-lo.