5

我的公司要求我将 Outlook 用于我的电子邮件。Outlook 几乎没有按照我想要的方式做任何事情,这让我非常沮丧。(我不是想在这里发起一场激烈的战争,它必须完全按照成千上万的 CEO 的意愿去做,但我不是 CEO。)

我希望能够自动提取当前在我的 Outlook 帐户中的数千封电子邮件和附件,并将它们保存在我自己的替代存储格式中,以便我可以轻松地搜索它们并按照我想要的方式组织它们。(我不是要求对新格式提出建议。)

也许一些不错的开源程序已经可以做到这一点……那太好了。请告诉我。

否则,如何在不通过大量的手动收集的情况下获取消息内容和附件? 即使我只能得到消息内容和附件的名称,那也足够了。是否有 Outlook 邮件存储格式的文档?有没有办法在 Outlook 中查询数据?

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

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

4

2 回答 2

6

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");
于 2008-10-21T21:17:16.077 回答
1

如果您想提取您的电子邮件,请查看代码项目 http://69.10.233.10/KB/dotnet/OutlookEmailExtractor.aspx上的 Outlook 电子邮件提取器

抢劫 www.filefriendly.com

于 2009-04-04T19:07:46.423 回答