Empurra a conta inteira de um servidor IMAP para outro servidor IMAP

5

Minha instituição recentemente reformulou nossas contas de e-mail. Sou forçado a transferir anos de e-mails cuidadosamente redigidos (= mais caos do que uma festa de aniversário de 3 anos) da conta IMAP_para IMAP account_new, que diferem apenas nos nomes dos servidores, até onde eu sei.

Sendo IMAP, todos os meus e-mails são mantidos localmente, além do servidor de e-mail, então pensei que o Thunderbird poderia permitir que eu criasse a conta IMAP_novo e depois enviasse o conteúdo do meu ~/.thunderbird profile para o servidor IMAP account_new. Note também que o IMAP account_old agora está off-line.

Minha busca no Google não retornou nada nessa abordagem e, em vez disso, os usuários parecem ter que copiar trabalhosamente (clicando com o botão direito na pasta > Copiar para > relativo / thunderbird / caminho ), pasta por pasta, de uma conta para outra. Eu estava fazendo isso até descobrir que, em algum momento, os anexos pararam de ser copiados corretamente (mas foram quando iniciei o processo). Especificamente, o contêiner do arquivo anexo é copiado, mas o conteúdo aparece ausente, pois um erro * é retornado ao tentar abri-lo. O mesmo problema ocorre ao usar Mover para em itens de e-mail individuais. Agora estou me perguntando se o DavMail (para a conta do Exchange que eu uso) está interferindo na cópia de anexos usando essa abordagem.

* This attachment appears to be empty. Please check with the person who sent this. Often company firewalls or antivirus programs will destroy attachments.

Não menos, gostaria de saber se não há uma maneira mais robusta e menos trabalhosa de carregar todo o conteúdo local de uma conta para um servidor IMAP, com estrutura de árvore completa e metadados (fwd, reply, tags etc)? Estou usando o Thunderbird v17.0 no Ubuntu 12.04, 64bit, DavMail 4.1.0.

EDIT: Eu vejo imapsync deve fazer o trabalho. Quaisquer comentários sobre essa abordagem, ou seja, os metadados e anexos são fielmente sincronizados?

    
por kbrand 28.11.2012 / 16:52

3 respostas

3

Uma alternativa é usar o mbsync do projeto isync . Veja alguns exemplos de configuração para sincronizar e-mails de um servidor IMAP diretamente para outro:

# The IMAP server you wish to copy mails from.
IMAPAccount imap-src-account
Host imap.host.ac.uk
User student0192
# Pass "xxxxx" # if you don't mind storing it in the file; otherwise will prompt
UseIMAPS yes
CertificateFile /etc/ssl/certs/ca-certificates.crt

 # The IMAP server you wish to copy mails to.
IMAPAccount imap-dest-account
Host zimbra.corporate.com
User [email protected]
# Pass "xxxxx" # if you don't mind storing it in the file; otherwise will prompt
UseIMAPS yes
CertificateFile /etc/ssl/certs/ca-certificates.crt

 # Link IMAP server to remote used below
IMAPStore imap-src
Account imap-src-account

IMAPStore imap-dest
Account imap-dest-account

# ensures that dates of messages will be set correctly
CopyArrivalDate yes

Channel transfer
Master :imap-src:
Slave :imap-dest:
# Transfer all folders
Patterns *
Create Slave
Sync Pull
# important otherwise you will get 'Error: store ... does not support in-box sync state'
SyncState ~/.mail/imap-transfer

Você pode então executar mbsync -l transfer para listar quais pastas de e-mail serão sincronizadas.

Para realmente executar a transferência, execute mbsync transfer . O bom disso é que você pode executá-lo periodicamente e fazer uma sincronização eficiente.

Mais notas:

  • senhas : você também pode especificar um PassCmd para usar um método diferente de obter a senha (por exemplo, de um token ring ).
  • backups : A maioria das instruções on-line do mbsync está usando isso para fazer backup em um sistema de arquivos local. Você pode até mesmo fazer backup para o sistema de arquivos local e, em seguida, enviá-lo para o novo servidor, como descrito aqui , mas é mais complicado do que o necessário se você quiser apenas sincronizar os servidores
  • mapeamento de pastas : se você deseja transferir pastas para uma subpasta no sistema de destino (como eu fiz), é possível especificar isso dizendo Slave ":imap-dest:parent-folder/" na configuração Channel .
por 07.08.2015 / 09:42
1

O Imapsync é uma ferramenta projetada para fazer sincronizações de imap, sincroniza:

  • toda a hierarquia de pastas. O mapeamento de pastas pode ser alterado.
  • todas as mensagens, como são, anexos sincronizados fielmente. A seleção de mensagens por data / tamanho é possível.
  • todos os sinalizadores, pelo menos todos os que são ativados pelo servidor de destino.

O Imapsync permite sincronizações incrementais, eu as chamo de presync, para fazer backup ou acelerar a sincronização final; estima o ETA com base na taxa de transferência de mensagens medida. O autor, Gilles Lamiral, o nome, vende 50 euros, mas está disponível gratuitamente no github.

    
por 25.07.2014 / 15:07
0

TL; DR

Repare a pasta. PD: A informação não está perdida. Está lá.

Contexto

Eu estava com medo de que isso estivesse acontecendo comigo. Eu encontrei essa pergunta porque comecei a "copiar" meus emails com clientes em minha agência de viagens para uma conta temporária para depois importá-los para um banco de dados para processamento automático em um CRM personalizado ... e perder arquivos anexados dos clientes não era um opção.

Eu estava recebendo a mensagem This attachment appears to be empty. Please check with the person who sent this. Often company firewalls or antivirus programs will destroy attachments. depois de ter excluído as mensagens originais e estava com muito medo da situação.

E eu estava realmente com muito medo de perder os anexos.

Então, a primeira coisa que eu queria esclarecer foi:

PERGUNTA CRÍTICA: O Thunderbird está perdendo informações ao copiar os e-mails? Ou apenas copia certo, mas depois não consegue lê-lo?

  • Se o thunderbird soltar as informações, isso é um problema completo.
  • Se apenas não for possível ler, não há problema.

O que eu fiz para resolver minha questão crítica

a) Eu olhei primeiro para o código-fonte da mensagem. Realmente tinha "algum" conteúdo. Limite e, em seguida, o arquivo anexado.

Aindanãosabiaseoconteúdoestavacorretooucorrompido.

b)Salveioemailnaáreadetrabalho,cliqueiduasvezesneleeoabricomothunderbirdcarregando-odaáreadetrabalho.

c)Eucliqueicomobotãodireitoparasalvaroanexo.Umavezqueoanexofoisalvoeuabri-lo(eraumarquivodoExcelnestecas)eoExcelabriubem.Então,primeiraconclusão:asinformaçõesdentrodoanexonãosãoperdidas

d)Entãoeuabrioanexodiretamenteabrindo-odajaneladee-mail(novamente:nãodoIMAP,apenasvisualizandonothunderbirdoarquivo.emlnaáreadetrabalho)eeleabriucorretamente.Então,segundaconclusão:aorigemdamensagemnãoestácorrompendoasinformaçõesparaclicarduasvezeseabriroarquivoanexado

Resposta(oquefuncionouparamim)

Concluíentãoqueainformaçãonãofoiperdida(muitoprovavelmenteocódigo-fontefinaldoIMAPébyte-por-byteumacópiadocódigofonteoriginal)eentãonecessariamenteoproblemaéler/interpretaramensagemnovamente.

MasoThunderbirdàsvezesprecisadeumpoucodeajuda.Ele"armazena em cache" alguns dados para evitar a conexão com o servidor IMAP a cada vez e, por qualquer motivo, o IDK, de tempos em tempos, essas informações podem ficar corrompidas.

Existe uma maneira de resolver isso:

1) Clique com o botão direito na pasta e selecione "Propriedades" na pasta problemática.

2)Selecione"Reparar". Isso invalida os metadados em cache sobre as mensagens contidas lá e, portanto, obriga a baixar novamente os arquivos de código-fonte que contêm os cabeçalhos e o corpo das mensagens, e reinterpretam o conteúdo em si.

Funcionou para mim. Agora seleciono a mesma mensagem, abro o anexo e não obtenho mais a mensagem This attachment appears to be empty. .

Espero ajudar!

    
por 27.03.2018 / 19:36