保存/整理/搜索Outlook以外的Outlook电子邮件

问题描述:

我的公司要求我将Outlook用于我的电子邮件。展望几乎没有任何方式,我想这样做,它让我非常失望。 (我不是想在这里开始一场激烈的战争,它必须完成数千名首席执行官所希望的事情,但我不是首席执行官。)保存/整理/搜索Outlook以外的Outlook电子邮件

我希望能够自动提取数千的电子邮件和附件目前在我的Outlook帐户中,并将它们保存在我自己的备用存储格式中,我可以轻松地搜索并按照自己的方式进行组织。 (我没有请求新格式的建议。)

也许一些很好的开源程序已经可以做到这一点...那将是伟大的。请告诉我。

否则我怎样才能获得消息内容和附件,而无需手动通过巨大的收集?即使我只能得到邮件内容和附件的名称,这就足够了。是否有Outlook邮件存储格式的文档?有没有办法查询Outlook的数据?

也许有一种替代方法我没有考虑过?

我的首选语言是C#,但如果需要,我可以使用其他语言。

Outlook Redemption是目前使用我找到的最好的东西。它将允许您进入消息并提取附件和消息主体。我现在正在使用它来做到这一点。

这是我在课堂上使用的一些代码。我包含了构造函数和用于保存附件的处理函数。我删除了特定于我的需求的代码,但您可以了解在此使用的代码。

private RDOSession _MailSession = new RDOSession(); 
    private RDOFolder _IncommingInbox; 
    private RDOFolder _ArchiveFolder; 
    private string _SaveAttachmentPath; 

    public MailBox(string Logon_Profile, string IncommingMailPath, 
        string ArchiveMailPath, string SaveAttPath) 
    { 
     _MailSession.Logon(Logon_Profile, null, null, true, null, null); 
     _IncommingInbox = _MailSession.GetFolderFromPath(IncommingMailPath); 
     _ArchiveFolder = _MailSession.GetFolderFromPath(ArchiveMailPath); 
     _SaveAttachmentPath = SaveAttPath; 
    } 
public void ProcessMail() 
     { 

      foreach (RDOMail msg in _IncommingInbox.Items) 
      { 
       foreach (RDOAttachment attachment in msg.Attachments) 
       { 
        attachment.SaveAsFile(_SaveAttachmentPath + attachment.FileName); 
        } 
       } 
       if (msg.Body != null) 
       { 
        ProcessBody(msg.Body); 
       } 

      } 

     } 

编辑: 这是我怎么称呼它,什么是通过

MailBox pwaMail = new MailBox("Self Email User", @"\\Mailbox - Someone\Inbox", 
           @"\\EMail - Incomming\Backup", @"\\SomePath"); 

如果你要提取您的电子邮件在CodeProject 看看 的Outlook电子邮件提取 http://69.10.233.10/KB/dotnet/OutlookEmailExtractor.aspx

rob www.filefriendly.com