Depois de migrar provedores de hospedagem no ano passado, acabei recebendo muitos e-mails que aparecem com uma "Data" da migração, em vez da data de entrega da mensagem, veja a captura de tela:
Esta data aparece nos meus clientes locais (Mail.app no OS X 10.11.6 e iOS 10 beta) e também no webmail (Roundcube).
O servidor de correio de back-end é Dovecot e todas as mensagens no diretório Maildir têm os Delivery-date
cabeçalhos corretos.
Existe alguma maneira de corrigir isso ou fazer com que o Dovecot releia ou recompile seus bancos de dados de mensagens?
Na verdade, isso acabou sendo relacionado ao cliente, e não ao Dovecot. Para encurtar a história, os aplicativos Mail no OSX e no iOS realmente usam o sistema de arquivos
mtime
do arquivo de mensagem, em vez da mensagemDate
ou dosDelivery-date
cabeçalhos.A solução alternativa (reconhecidamente hacky) foi escrever um script rápido para ler o cabeçalho apropriado e
touch
todos os arquivos para corrigir omtime
arquivo e, em seguida, limpar todos os arquivos de cache do Dovecot para que o arquivo seja reindexado.Acredito que Dovecot usa o cabeçalho Date:. Eu me deparei com esse problema ao mover mensagens sem um cabeçalho Date. Alguns eram de um sistema de correio antigo, mas a maioria era da pasta Enviados. Relativamente poucos foram enviados por servidores que não garantiram a presença do cabeçalho Date.
Você pode resolver isso adicionando o cabeçalho e forçando-o a reindexar a pasta. Você pode usar o
formail
utilitário para adicionar o cabeçalho Date. Pode ser necessário encadear comandos e criar um novo diretório para o e-mail fixo. Se você tiver um armazenamento no formato Maildir, poderá mover o subdiretório cur para um novo nome como old e reescrever de volta para cur.