Estou assumindo que o servidor IMAP usa o formnat Maildir para armazenar seus dados (/ path / to / mail / user / Maildir / cur /)
Você pode sincronizar uma estrutura de diretório entre duas máquinas Unix (ou OS / X) usando a ferramenta de linha de comando rsync.
Digamos que você tenha seu servidor de e-mail em mta01 (antigo) e mta02 (novo) e o e-mail é armazenado em / var / mail ...
Copiar o email do servidor para o computador local seria:
$ rsync -avP root@mta01:/var/mail mailBackup
Remova o conteúdo do mailBackup para atender às suas necessidades e, em seguida, copie-o de volta com:
$ rsync -avP mailBackup/* root@mta02:/var/mail/
Obviamente, você precisaria ativar logins ssh de raiz no servidor para que isso funcionasse ou usar outro usuário que tenha acesso à estrutura completa de e-mail.
Você também pode precisar alterar as permissões do arquivo no email (dependendo de como o email está configurado) e isso pode funcionar (ou algo similar):
(on the server as root)
# cd /var/mail
# for USER in 'ls'
> {
> chown -R $USER $USER
> }
Obviamente, tudo depende do software de servidor de e-mail que você está executando, mas a maioria usa o Maildir para o formato.
O formato Maildir armazena cada email como um arquivo de texto simples individual. Uma estrutura de arquivos típica é:
/var/mail/matt/Maildir/ <- root Maildir folder
/var/mail/matt/Maildir/new/ <- New messages in INBOX
/var/mail/matt/Maildir/cur/ <- Existing (read) messages in INBOX
/var/mail/matt/Maildir/tmp/ <- Temporary work area
/var/mail/matt/Maildir/.Friends/ <- Root of the 'Friends' folder
/var/mail/matt/Maildir/.Friends/new/ <- New messages in the 'Friends' folder
/var/mail/matt/Maildir/.Friends/cur/ <- Existing (read) messages in the 'Friends' folder
/var/mail/matt/Maildir/.Friends/tmp/ <- Temporary work area
... e assim por diante.