Arquivar itens de correio do Outlook no SQL Server

4

Estou procurando (e até agora não encontrando nenhum) uma solução para arquivar itens de email do meu Outlook no SQL Server.

Meu PST está começando a ficar realmente muito grande, e eu adoraria extrair meus e-mails mais antigos para o SQL Server de uma maneira que ainda possa encontrar facilmente e-mails, se necessário. Eu preferiria o SQL Server como o meio de armazenamento desde que eu estou familiarizado com ele, e é muito sólido - eu não quero ter uma coleção de arquivos PST ou arquivos CHM ou qualquer coisa assim.

Alguém sabe de tal solução?

    
por marc_s 06.04.2010 / 14:30

3 respostas

0

Eu ainda estou espantado que ninguém tenha sido capaz de chegar a uma resposta .... o que vocês fazem para arquivar seus e-mails? Toss 'out fora do Outlook ou Thunderbird após 6 meses e esquecê-los? Guarde-os como arquivos .txt ou .eml em algum lugar ??

De qualquer forma, a melhor solução que encontrei até agora não está usando o SQL Server - mas ainda parece bastante poderosa e útil: MailStore Home - gratuito para uso pessoal / doméstico e bastante bacana nisso. Pena que não suporta importação direta de arquivos .pst :-( - isso é apenas na versão do servidor $$$$$ pro, mas até agora, esse é o único momento agridoce com esse aplicativo.

    
por 10.04.2010 / 16:42
1

Isso provavelmente não é exatamente o que você está procurando, mas é um começo (e grátis!). É uma macro do Outlook que escrevi um tempo atrás para fazer exatamente isso. O maior problema é que ele não faz anexos que poderiam ser um obstáculo para você, mas pensei em compartilhar de qualquer maneira. Você clica em uma pasta que deseja exportar e envia as informações da mensagem para uma tabela SQL. É fácil modificar isso se você quiser mais campos.

Sub ExportMsgData()
    Dim objConn As New ADODB.Connection
    Dim rsMsgs As New ADODB.Recordset
    Dim strDBFile As String

    On Error Resume Next
    Set objConn = New ADODB.Connection
    With objConn
        .ConnectionString = "Provider=SQLOLEDB;data source=MySQLSvr;initial catalog=MyMail;integrated security=SSPI"
        .Open
    End With

    Set objExp = Application.ActiveExplorer
    If objExp.Selection.Count > 0 Then
        If objExp.Selection(1).Class = Outlook.OlObjectClass.olMail Then
            For Each objMsg In objExp.Selection
                With rsMsgs
                    .CursorLocation = adUseClient
                    .Open "SELECT TOP 1 * FROM t_Msg", objConn, adOpenDynamic, adLockBatchOptimistic
                    .AddNew
                    !MsgFrom = objMsg.SENDERNAME
                    !MsgFromEmail = objMsg.SenderEmailAddress
                    !MsgDateSent = objMsg.SentOn
                    !MsgDateReceived = objMsg.ReceivedTime
                    !MsgSubject = objMsg.Subject
                    .UpdateBatch
                    rsMsgs.Close
                End With
            Next
        End If
    End If

    objConn.Close
    Set rsMsgs = Nothing
    Set objConn = Nothing
End Sub
    
por 06.04.2010 / 16:00
0

Fácil - uma espécie de solução que uso para arquivar e-mails do Outlook é a seguinte:

  1. No Outlook, NÃO faça um EXPORT. Em vez disso, abra a pasta da qual você deseja arquivar mensagens.
  2. Sequencia as mensagens conforme desejado. Eu ordeno por data enviada para permitir um período de tempo arbitrário.
  3. Realce as mensagens a serem copiadas. (Clique em, Shift + Clique ou pressione Ctrl + A para todos.
  4. No menu Arquivo , clique em Salvar como e insira um nome de arquivo apropriado. Isso fornecerá um arquivo de texto muito simples de texto contínuo para todos os e-mails selecionados. Se você quiser mensagens separadas, infelizmente precisará selecionar uma mensagem por vez.
  5. No SQL Server, crie uma tabela contendo uma coluna de identidade seguida por uma coluna varchar(4000) . Importe seu arquivo de texto para essa tabela, que preserva a sequência física por meio da identidade e uma coluna de texto para cada linha. Dependendo das suas habilidades de SQL, você pode analisar esta tabela conforme desejado. As muitas funções SQL, como, mas não limitadas a, LTRIM , RTRIM , LIKE , ISNUMERIC , SUBSTRING , LEFT , RIGHT , LEN , PATINDEX , CHARINDEX etc. permitem que você extraia variáveis das cadeias de texto.

Eu uso esse método para extrair o investimento diário mantendo cotações de preços dos e-mails diários de meu corretor e criar arquivos de atualização de preço para o Quicken, em vez de confiar nos dados do meu corretor e nos recursos online arbitrários do Quicken.

Se você quiser apenas arquivar mensagens, o aplicativo gratuito Mail Store Home é excelente e também possui várias opções de criação de arquivos. Tente. E você pode até colocar as mensagens de volta nas pastas do Outlook também.

    
por 21.02.2015 / 19:50