EWS Managed API:从 "AllItems" 文件夹中提取时识别已删除的电子邮件
EWS Managed API: Identify deleted email when fetching from "AllItems" folder
我正在使用 EWS managed API 和 C# 从用户帐户中获取电子邮件。我正在从 "AllItems" 文件夹中获取电子邮件并获取不同的电子邮件属性,例如主题、发送日期等。
"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
}
}
}
}
如您所说,我认为 属性 邮件项目没有这样的情况。
我会使用 GetFolder 操作和众所周知的文件夹名称 "deleteditems"
来获取该文件夹的 ID。然后,我将忽略所有具有此 Id 作为 ParentFolderId 的邮件项目。
我正在使用 EWS managed API 和 C# 从用户帐户中获取电子邮件。我正在从 "AllItems" 文件夹中获取电子邮件并获取不同的电子邮件属性,例如主题、发送日期等。
"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
}
}
}
}
如您所说,我认为 属性 邮件项目没有这样的情况。
我会使用 GetFolder 操作和众所周知的文件夹名称 "deleteditems"
来获取该文件夹的 ID。然后,我将忽略所有具有此 Id 作为 ParentFolderId 的邮件项目。