Como arquivar correio / anexos antigos

2

Preciso de alguns conselhos sobre como reduzir o tamanho de nossos armazenamentos de e-mail, arquivando PSTs (e-mails de mais de 18 meses) em algum outro lugar da rede, onde isso é isento para o usuário final (Outlook 2003/2007). Eu prefiro armazená-los na rede e não nas máquinas dos usuários finais, porque o armazenamento é barato e será mais seguro.

A opção alternativa que eu estava pensando era procurar uma ferramenta que arquivasse anexos. As pessoas enviam 1 MB + JPGs para várias pessoas todos os dias. Acho que separá-los seria imenso, de preferência se pudéssemos substituir o anexo por um link para o arquivo. Ou ainda mais simples, excluindo anexos para tipos de arquivos específicos.

    
por iamgoat 01.05.2009 / 20:02

2 respostas

1

O conselho geral é não usar PSTs (definitivamente não através de uma rede) e, portanto, tentar expandir o espaço real do armazenamento de dados do Exchange para manter tudo on-line - sem limpeza ou arquivamento (como você diz, armazenamento é barato e o armazenamento de dados do Exchange pode manipular o tamanho, as duplicatas de anexos também serão armazenadas como um único objeto em todas as caixas de correio) ...

... mas se você realmente deseja arquivar, provavelmente precisará de uma solução de terceiros como o Enterprise Vault. Qual é o tamanho da caixa de correio típica agora?

    
por 01.05.2009 / 21:33
1

Usamos um script (JScript, Windows Script Host) que orienta a excelente biblioteca MAPI de Redemption Data Objects do Dmitry Streblechenko. Aqui está a coragem:

...
var session = new ActiveXObject("Redemption.RDOSession");
session.LogonExchangeMailbox("FredB", "EXCH01");

var mailbox  = session.Stores.DefaultStore;
var pstStore = session.Stores.AddPSTStore("c:\backups\fredb.pst", 1, "FredB backup");

foreach(mailbox.IPMRootFolder.Folders, function(folder)
{
   folder.CopyTo(pstStore.IPMRootFolder);
});

pstStore.Remove();

...

// Utility to allow enumeration of COM collections
function foreach(collection, fn)
{
  for(var e = new Enumerator(collection); !e.atEnd(); e.moveNext())
  {
    if(fn(e.item()) === false)
      break;
  }
}

Não demoraria muito para adicionar lógica para iterar nos itens das pastas e pegar mensagens com anexos, mais antigos que uma determinada data, etc.

Mais informações no meu blog: link

    
por 14.05.2009 / 20:33