Migração IMAP · 5 min read · Sep 25, 2025
Como Migrar Caixas de Correio Entre Servidores IMAP Com imapsync

Este guia explica como você pode migrar caixas de correio entre servidores IMAP com imapsync. imapsync é uma ferramenta de sincronização, cópia ou migração IMAP. Mais de 32 diferentes softwares de servidor IMAP são suportados com sucesso. Todas as bandeiras são preservadas, não lidas permanecerão não lidas, lidas permanecerão lidas, excluídas permanecerão excluídas.
1 Nota Preliminar
Estou usando dois servidores Debian ou Ubuntu aqui (o procedimento deve ser o mesmo para outras distribuições, apenas a instalação do imapsync será diferente):
- server1.example.com (origem)
- server2.example.com (destino)
Quero migrar a caixa de correio [email protected] (nome de usuário: [email protected], senha: secreto) no server1.example.com para a caixa de correio [email protected] no server2.example.com (nome de usuário e senha são os mesmos que no server1.example.com).
2 Antes de Começarmos
Antes de começarmos, vamos dar uma olhada em ambas as caixas de correio para ver o que há nelas (você pode fazer isso com um cliente de email como Outlook, Thunderbird, ou um cliente de email baseado na web como SquirrelMail - estou usando o SquirrelMail aqui).
server1.example.com:

server2.example.com:

Após a migração, as duas mensagens no server1.example.com devem estar disponíveis no server2.example.com.
3 Instalação do imapsync
Não importa se instalamos o imapsync no server1.example.com ou no server2.example.com - podemos até instalá-lo em um terceiro servidor não envolvido.
aptitude install imapsyncPara aprender sobre seu uso, dê uma olhada em
man imapsynce
imapsync --help4 Fazendo a Migração
Precisamos informar ao imapsync os nomes de usuário e senhas das contas de email que queremos migrar. Teoricamente, podemos usar os switches –password1 e –password2 para as senhas, mas isso é perigoso porque as senhas apareceriam na saída de
ps aux(Então, qualquer usuário que tenha permissão para executar esse comando saberia as senhas.)
Portanto, é melhor criar dois arquivos ( /etc/secret1 e /etc/secret2 neste exemplo) que contenham as senhas (neste exemplo, é secreto para ambas as contas de email), fazer um chmod 600 nesses arquivos e usar os switches –passfile1 e –passfile2.
echo "secret" > /etc/secret1
echo "secret" > /etc/secret2
chmod 600 /etc/secret1
chmod 600 /etc/secret2Agora podemos fazer a migração com este comando simples:
imapsync --host1 server1.example.com --user1 [email protected] --passfile1 /etc/secret2 --host2 server2.example.com --user2 [email protected] --passfile2 /etc/secret2Aqui está uma saída de exemplo:
root@server1:~# imapsync --host1 server1.example.com --user1 [email protected] --passfile1 /etc/secret2
--host2 server2.example.com --user2 [email protected] --passfile2 /etc/secret2
$RCSfile: imapsync,v $ $Revision: 1.252 $ $Date: 2008/05/08 02:30:17 $
Aqui está um [linux] sistema (Linux server1.example.com 2.6.28-11-server #42-Ubuntu SMP Fri Apr 17 02:45:36 UTC 2009 x86_64)
com perl 5.10.0 e o módulo Mail::IMAPClient versão usada aqui é 2.2.9
Linha de comando usada :
/usr/bin/imapsync --host1 server1.example.com --user1 [email protected] --passfile1 /etc/secret2
--host2 server2.example.com --user2 [email protected] --passfile2 /etc/secret2
Sincronização interna ativada, definirá as datas internas no host2 iguais ao host1.
Fuso Horário :[CEST]
Tentará usar autenticação CRAM-MD5 no host1
Tentará usar autenticação CRAM-MD5 no host2
Do servidor imap [server1.example.com] porta [143] usuário [[email protected]]
Para servidor imap [server2.example.com] porta [143] usuário [[email protected]]
Banner : * OK [CAPABILITY IMAP4rev1 UIDPLUS CHILDREN NAMESPACE THREAD=ORDEREDSUBJECT THREAD=REFERENCES SORT QUOTA
IDLE ACL ACL2=UNION STARTTLS] Courier-IMAP pronto. Copyright 1998-2008 Double Precision, Inc. Veja COPYING para informações de distribuição.
O servidor host server1.example.com diz que não tem NENHUMA CAPACIDADE para AUTENTICAR CRAM-MD5
Erro de login : [server1.example.com] com usuário [[email protected]] auth [CRAM-MD5]: 3 NO Login falhou.
Tentando LOGIN Mecanismo de autenticação no [server1.example.com] com usuário [[email protected]]
Login bem-sucedido no [server1.example.com] com usuário [[email protected]] auth [CRAM-MD5]
Banner : * OK [CAPABILITY IMAP4rev1 UIDPLUS CHILDREN NAMESPACE THREAD=ORDEREDSUBJECT THREAD=REFERENCES SORT QUOTA
IDLE ACL ACL2=UNION STARTTLS] Courier-IMAP pronto. Copyright 1998-2008 Double Precision, Inc. Veja COPYING para informações de distribuição.
O servidor host server2.example.com diz que não tem NENHUMA CAPACIDADE para AUTENTICAR CRAM-MD5
Erro de login : [server2.example.com] com usuário [[email protected]] auth [CRAM-MD5]: 3 NO Login falhou.
Tentando LOGIN Mecanismo de autenticação no [server2.example.com] com usuário [[email protected]]
Login bem-sucedido no [server2.example.com] com usuário [[email protected]] auth [CRAM-MD5]
Da capacidade : QUOTA STARTTLS NAMESPACE IDLE THREAD=ORDEREDSUBJECT ACL SORT UIDPLUS CHILDREN ACL2=UNION IMAP4REV1 THREAD=REFERENCES
Para capacidade : QUOTA STARTTLS NAMESPACE IDLE THREAD=ORDEREDSUBJECT ACL SORT UIDPLUS CHILDREN ACL2=UNION IMAP4REV1 THREAD=REFERENCES
Do estado Autenticado
Para estado Autenticado
Do separador e prefixo : [.][INBOX.]
Para separador e prefixo : [.][INBOX.]
++++ Calculando tamanhos ++++
Da Pasta [INBOX] Tamanho: 2412 Mensagens: 2
Da Pasta [INBOX.Drafts] Tamanho: 0 Mensagens: 0
Da Pasta [INBOX.Sent] Tamanho: 0 Mensagens: 0
Da Pasta [INBOX.Trash] Tamanho: 0 Mensagens: 0
Tamanho total: 2412
Total de mensagens: 2
Tempo : 11 s
++++ Calculando tamanhos ++++
Para Pasta [INBOX] Tamanho: 16844 Mensagens: 6
Para Pasta [INBOX.Drafts] Tamanho: 0 Mensagens: 0
Para Pasta [INBOX.Sent] Tamanho: 0 Mensagens: 0
Para Pasta [INBOX.Trash] Tamanho: 0 Mensagens: 0
Tamanho total: 16844
Total de mensagens: 6
Tempo : 0 s
++++ Listando pastas ++++
Da lista de pastas : [INBOX] [INBOX.Drafts] [INBOX.Sent] [INBOX.Trash]
Para lista de pastas : [INBOX] [INBOX.Drafts] [INBOX.Sent] [INBOX.Trash]
++++ Looping em cada pasta ++++
Da Pasta [INBOX]
Para Pasta [INBOX]
++++ De [INBOX] Analisando 1 ++++
++++ Para [INBOX] Analisando 1 ++++
++++ Verificando [INBOX] -> [INBOX] ++++
+ NO msg #1 [FID6mR7SVC7csdmRce+7PQ:924] em INBOX
+ Copiando msg #1:924 para a pasta INBOX
bandeiras de : [\Seen]["26-May-2009 22:00:59 +0200"]
Copiado msg id [1] para a pasta INBOX msg id [7]
+ NO msg #2 [4lu3SCjZGH2mRuiP1dY7Mw:1488] em INBOX
+ Copiando msg #2:1488 para a pasta INBOX
bandeiras de : [()]["27-May-2009 14:12:59 +0200"]
Copiado msg id [2] para a pasta INBOX msg id [8]
Tempo : 0 s
Da Pasta [INBOX.Drafts]
Para Pasta [INBOX.Drafts]
++++ De [INBOX.Drafts] Analisando 1 ++++
++++ Para [INBOX.Drafts] Analisando 1 ++++
++++ Verificando [INBOX.Drafts] -> [INBOX.Drafts] ++++
Tempo : 0 s
Da Pasta [INBOX.Sent]
Para Pasta [INBOX.Sent]
++++ De [INBOX.Sent] Analisando 1 ++++
++++ Para [INBOX.Sent] Analisando 1 ++++
++++ Verificando [INBOX.Sent] -> [INBOX.Sent] ++++
Tempo : 0 s
Da Pasta [INBOX.Trash]
Para Pasta [INBOX.Trash]
++++ De [INBOX.Trash] Analisando 1 ++++
++++ Para [INBOX.Trash] Analisando 1 ++++
++++ Verificando [INBOX.Trash] -> [INBOX.Trash] ++++
Tempo : 1 s
++++ Estatísticas ++++
Tempo : 12 sec
Mensagens transferidas : 2
Mensagens ignoradas : 0
Total de bytes transferidos: 2412
Total de bytes ignorados : 0
Total de bytes erro : 0
Detectados 0 erros
Por favor, avalie o imapsync em http://freshmeat.net/projects/imapsync/
?Satisfeito com este software livre, de código aberto e gratuito GPL?
Sinta-se à vontade para agradecer ao autor dando-lhe um livro:
http://www.amazon.com/gp/registry/wishlist/1C9UNDIH3P7R7/
(ou sua conta paypal [email protected])
root@server1:~#Depois, podemos excluir os dois arquivos de senha:
rm -f /etc/secret1
rm -f /etc/secret2No servidor de destino ( server2.example.com), saia da sua conta IMAP e faça login novamente (um simples refresh pode não ser suficiente), e você deve ver as mensagens do server1.example.com:
server2.example.com:

5 Links
Receba novas postagens na sua caixa de entrada
Sem spam. Cancele a assinatura a qualquer momento.