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

電子メールを抽出する場合は、codeproject http://69.10.233.10/KB/dotnet/OutlookEmailExtractor.aspxで Outlook Email Extractor を参照してください。

強盗www.filefriendly.com

于 2009-04-04T19:07:46.423 に答える