C# EWS托管API:从“获取”时识别已删除的电子邮件;AllItems“;文件夹

C# EWS托管API:从“获取”时识别已删除的电子邮件;AllItems“;文件夹,c#,exchangewebservices,C#,Exchangewebservices,我正在使用EWS管理的API和C#从用户帐户获取电子邮件。我从“AllItems”文件夹获取电子邮件,并获取不同的电子邮件属性,如主题、datetimesent等 “AllItems”文件夹还包含已删除且位于“DeletedItems”文件夹中的电子邮件。我想确定该电子邮件是否被删除(即,它位于“DeletedItems”文件夹中),如果可能的话,确定该电子邮件何时被删除 FolderView viewFolders = new FolderView(int.MaxValue) { Traver

我正在使用EWS管理的API和C#从用户帐户获取电子邮件。我从“AllItems”文件夹获取电子邮件,并获取不同的电子邮件属性,如主题、datetimesent等

“AllItems”文件夹还包含已删除且位于“DeletedItems”文件夹中的电子邮件。我想确定该电子邮件是否被删除(即,它位于“DeletedItems”文件夹中),如果可能的话,确定该电子邮件何时被删除

FolderView viewFolders = new FolderView(int.MaxValue) { Traversal = FolderTraversal.Deep, PropertySet = new PropertySet(BasePropertySet.IdOnly) };

ItemView viewEmails = new ItemView(int.MaxValue) { PropertySet = new PropertySet(BasePropertySet.IdOnly) };

SearchFilter folderFilter = new SearchFilter.IsEqualTo(FolderSchema.DisplayName, "AllItems");

FolderId rootFolderId = new FolderId(WellKnownFolderName.Root);

FindItemsResults<Item> findResults;

FindFoldersResults AllItemsFolder= service.FindFolders(WellKnownFolderName.Root, folderFilter, viewFolders);

if (AllItemsFolder.Count() > 0)//if we have AllItems folder
{
    foreach (Folder folder in AllItemsFolder.Folders)
    {
        ItemView itv = new ItemView(int.MaxValue);
        findResults = service.FindItems(folder.Id, itv);

        foreach (Item item in findResults)
        {
            if (item is EmailMessage)
            {
                MessageBox.Show(item.Subject);
                //  Show whether the message is in deleted folder and when message was deleted  
            }
        }
    }
}
下面是我正在使用的代码。我找不到可识别电子邮件是否已删除的属性

FolderView viewFolders = new FolderView(int.MaxValue) { Traversal = FolderTraversal.Deep, PropertySet = new PropertySet(BasePropertySet.IdOnly) };

ItemView viewEmails = new ItemView(int.MaxValue) { PropertySet = new PropertySet(BasePropertySet.IdOnly) };

SearchFilter folderFilter = new SearchFilter.IsEqualTo(FolderSchema.DisplayName, "AllItems");

FolderId rootFolderId = new FolderId(WellKnownFolderName.Root);

FindItemsResults<Item> findResults;

FindFoldersResults AllItemsFolder= service.FindFolders(WellKnownFolderName.Root, folderFilter, viewFolders);

if (AllItemsFolder.Count() > 0)//if we have AllItems folder
{
    foreach (Folder folder in AllItemsFolder.Folders)
    {
        ItemView itv = new ItemView(int.MaxValue);
        findResults = service.FindItems(folder.Id, itv);

        foreach (Item item in findResults)
        {
            if (item is EmailMessage)
            {
                MessageBox.Show(item.Subject);
                //  Show whether the message is in deleted folder and when message was deleted  
            }
        }
    }
}
FolderView视图folders=newfolderview(int.MaxValue){Traversal=FolderTraversal.Deep,PropertySet=newpropertyset(BasePropertySet.IdOnly)};
ItemView viewEmails=newItemView(int.MaxValue){PropertySet=newPropertySet(BasePropertySet.IdOnly)};
SearchFilter folderFilter=newsearchfilter.IsEqualTo(FolderSchema.DisplayName,“AllItems”);
FolderId rootFolderId=新的FolderId(WellKnownFolderName.Root);
FindItemsResults findResults;
FindFoldersResults AllItemsFolder=service.FindFolders(WellKnownFolderName.Root、folderFilter、viewFolders);
if(AllItemsFolder.Count()>0)//如果我们有AllItems文件夹
{
foreach(AllItemsFolder.Folders中的文件夹)
{
ItemView itv=新的ItemView(int.MaxValue);
findResults=service.FindItems(folder.Id,itv);
foreach(findResults中的项目)
{
如果(项目为EmailMessage)
{
MessageBox.Show(item.Subject);
//显示邮件是否在已删除文件夹中以及何时删除邮件
}
}
}
}

正如您所说,我认为邮件没有这样的属性


我将使用GetFolder操作和众所周知的文件夹名
“deleteditems”
来获取该文件夹的Id。然后,我将忽略所有Id为ParentFolderId的邮件项目。

正如您所说,我认为邮件项目没有类似的属性


我将使用GetFolder操作和众所周知的文件夹名
“deleteditems”
来获取该文件夹的Id。然后,我将忽略所有Id为ParentFolderId的邮件。

谢谢Thole。我能够利用你的想法,从已删除的文件夹中筛选项目。我将很快发布代码片段。若被删除的文件夹有子文件夹,我必须遍历每个被删除的文件夹。@Momer Sweet!“如果删除的文件夹有子文件夹,我必须循环遍历每个删除的文件夹”。斯马特,我没想过!谢谢你,索勒。我能够利用你的想法,从已删除的文件夹中筛选项目。我将很快发布代码片段。若被删除的文件夹有子文件夹,我必须遍历每个被删除的文件夹。@Momer Sweet!“如果删除的文件夹有子文件夹,我必须循环遍历每个删除的文件夹”。斯马特,我没想过!谢谢你,索勒。我能够利用你的想法,从已删除的文件夹中筛选项目。我将很快发布代码片段。若被删除的文件夹有子文件夹,我必须遍历每个被删除的文件夹。@Momer Sweet!“如果删除的文件夹有子文件夹,我必须循环遍历每个删除的文件夹”。斯马特,我没想过!