0

Outlookに2つのアカウントを追加し、2つの個別のpstファイルを追加しました。以下の画像で明確なアイデアが得られます:

ここに画像の説明を入力してください

まず、ユーザーにOutlookからフォルダを選択してもらい、理解を深めるために画像を添付します。

ここに画像の説明を入力してください

最後に、画像と同じように、リストにフォルダパスがあります。

今、私はこれらの特定のパスからのみメールを読み、返信を送信したり削除したりしたいので、どうすればよいですか?パスに基づいてフォルダを読み取るにはどうすればよいですか?そのアカウントを使用してメールを送信します。

4

1 に答える 1

1

次のコードを使用してすべてのフォルダーをループし、パスをリスト内のフォルダーと一致させます。

コード:

        OutLook.Application oApp = new OutLook.Application();
        OutLook.NameSpace oNS = (OutLook.NameSpace)oApp.GetNamespace("MAPI");
        oNS.Logon(Missing.Value, Missing.Value, false, true);

        foreach (OutLook.MAPIFolder folder in oNS.Folders)
        {
            string folderName = folder.Name;

            GetFolders(folder);

        }



   public void GetFolders(MAPIFolder folder)
    {
        if (folder.Folders.Count == 0)
        {
            string path = folder.FullFolderPath;


            if (foldersTocheck.Contains(path))
            { 
                //GET EMAILS.....
                foreach (OutLook.MailItem item in folder.Items)
                {
                    Console.WriteLine(item.SenderEmailAddress + " " + item.Subject + "\n" + item.Body);


                }
            }
        }
        else
        {
            foreach (MAPIFolder subFolder in folder.Folders)
            {
                GetFolders(subFolder);
            }
        }
    }
于 2013-02-07T12:10:20.877 に答える