Ambiente: MS Office LTSC Pro Plus 2021 no Windows 11 Pro 64.
Esta é uma continuação da minha pergunta no StackOverflow : No MS Outlook VBA, como encontrar dados ocultos em um MailItem .
Estive estudando o conteúdo do meu pst
arquivo do Outlook. Contém e-mails enviados e recebidos desde 2004, 19 anos.
Eu uso o Outlook apenas para e-mail. Não uso seu calendário ou outros recursos, embora às vezes ele armazene eventos no calendário quando alguém solicita uma reunião e eu respondo. Presumo que o conteúdo do arquivo pst não diretamente atribuível aos e-mails nele contidos seja insignificante.
Em 1º de junho, envio as propriedades de todos os itens nas pastas de e-mail do arquivo pst para o MS Access. Foram 300.723 itens. A soma da propriedade MailItem.Size
para todos os itens é 9,5 * 10^9. Infelizmente, não salvei uma cópia do arquivo pst naquele momento, mas o tamanho do meu arquivo de backup em 27 de maio é 15,7 * 10^9 e o tamanho observado do arquivo em 9 de junho foi 15,8 * 10^9. Portanto, estimo que o tamanho do arquivo pst em 1º de junho era 15,7 * 10^9. Isso significa que o tamanho do arquivo é 6,2 * 10^9 ou 65% maior que a soma de MailItem.Size
todos os itens.
Na pergunta do StackOverflow vinculada acima, na seção Hidden data , observei três observações estranhas. A primeira foi que o Outlook parece estar salvando cópias ocultas de anexos de e-mail que removi. A terceira foi que o Outlook parece estar salvando cópias ocultas de e-mails que excluí permanentemente (ou seja, não apenas movi para a pasta "Itens Excluídos").
A nova observação de que o tamanho do arquivo pst é 65% maior que o total MailItem.Size
de todos os e-mails encontrados em suas pastas parece ser consistente com as observações anteriores de que anexos removidos e e-mails excluídos parecem estar escondidos em algum lugar do arquivo. Mas antes de assumir que isso está correto, preciso saber qual é a sobrecarga de armazenamento para e-mails no Outlook. Em outras palavras:
- Se o total
MailItem.Size
de todos os e-mails armazenados em um arquivo pst for x , sem nenhum anexo removido e nenhum e-mail excluído da pasta "Itens Excluídos", e o tamanho do arquivo for y , qual o tamanho esperado da proporção s/x ?
Supondo que a resposta a essa pergunta seja muito menor que 1,65, fico com as perguntas feitas na pergunta StackOverflow : como posso encontrar onde na estrutura de dados do arquivo esses anexos removidos e e-mails excluídos estão ocultos e como posso removê-los do arquivo?
O arquivo PST tem seu próprio sistema de armazenamento, não muito diferente do FAT32 ou NTFS. Quando mensagens ou anexos são excluídos, você pode esperar ter setores vazios - o Outlook não reescreverá o arquivo PST de vários GB se você excluir um e-mail de 10 kB. Os dados não são devolvidos imediatamente ao sistema operacional host (Windows) - os setores usados pelo e-mail excluído serão marcados como vazios e serão reutilizados posteriormente. Espera-se que o armazenamento se torne fragmentado.
Se você deseja recuperar o espaço de armazenamento, pode compactar o PST - clique com o botão direito na pasta superior do arquivo PST, selecione "Propriedades do arquivo de dados", "Avançado", "Compactar agora".
Aceitei a resposta de Dmitry. Esta resposta minha descreverá os resultados da implementação de sua resposta. E faço uma pergunta complementar, que espero que ele responda em um comentário.
Aqui está um resumo do que eu fiz e o que aconteceu:
Calendar
eContacts
, e 115 pastas de e-mail contendo 301.062 e-mails. O totalMailItem.Size
dos e-mails é 9,5 * 10^9 bytes. Assim, o tamanho do arquivo excede o tamanho total do e-mail em 6,3 * 10^9 bytes, ou 66%.CreationTime
2023 05 03 eReceivedTime
não nessa data) é 1,2 * 10^9 bytes.Conversation Action Settings
eQuick Step Settings
.Calendar
, , e com 3.781 kb, o que significa que as pastasContacts
de e-mail somam 9.283.419 kb. O total de s relatados pela minha sub-rotina, dividido por 1.024, chega a 9.283.419,4 kb, portanto, há concordância total entre a lista de pastas do Outlook e a saída da minha sub-rotina.Notes
Tasks
MailItem.Size
Resumo:
MailItem.Size
: 9,5 * 10^9 bytes.Conclusões:
Esse valor de 21% na segunda conclusão parece ser a resposta à minha pergunta sobre a sobrecarga de armazenamento do Outlook. Mas parece terrivelmente alto. Minha pergunta de acompanhamento para Dmitry e/ou outros especialistas do Outlook é:
Lembre-se de que o arquivo PST também armazena vários índices que permitem pesquisas mais rápidas, o próprio sistema de arquivos (descrevendo qual setor armazena partes de uma determinada mensagem) etc.