EWS manage api를 사용하여 필터로 다음과 같이 Inbox의 항목을 검색 할 수 있습니다 .
static void SearchByUsingFastSearch(ExchangeService service)
{
// Return the first 10 items in this call.
ItemView view = new ItemView(10);
// Find all items where the body contains "move reports".
string qstring = "Body:\"move reports\"";
// Identify the item properties to return.
view.PropertySet = new PropertySet(BasePropertySet.IdOnly,
ItemSchema.Subject);
// Send the request and get the results.
FindItemsResults<Item> findResults = service.FindItems(WellKnownFolderName.Inbox, qstring, view);
}
같은 방법으로 Clutter 폴더 에서 항목을 찾는 방법이 있습니까?
FindItemsResults<Item> findResults = service.FindItems(WellKnownFolderName.Clutter, qstring, view);
최근에 office365 온라인에 도입 되었기 때문에 Clutter 폴더에 대한 열거자가 없습니다. 문제를 해결하려면 이름으로 폴더를 찾고 ID를 캡처해야합니다 (인스턴스 변수에 저장) 후속 사용), 그 안에있는 항목을 찾습니다.
전의.
ExtendedPropertyDefinition ClutterFolderEntryId = new ExtendedPropertyDefinition(new Guid("{23239608-685D-4732-9C55-4C95CB4E8E33}"), "ClutterFolderEntryId", MapiPropertyType.Binary);
PropertySet iiips = new PropertySet();
iiips.Add(ClutterFolderEntryId);
String MailboxName = "[email protected]";
FolderId FolderRootId = new FolderId(WellKnownFolderName.Root, MailboxName);
Folder FolderRoot = Folder.Bind(service, FolderRootId, iiips);
Byte[] FolderIdVal = null;
if (FolderRoot.TryGetProperty(ClutterFolderEntryId, out FolderIdVal))
{
AlternateId aiId = new AlternateId(IdFormat.HexEntryId, BitConverter.ToString(FolderIdVal).Replace("-", ""), MailboxName);
AlternateId ConvertedId = (AlternateId)service.ConvertId(aiId, IdFormat.EwsId);
Folder ClutterFolder = Folder.Bind(service, new FolderId(ConvertedId.UniqueId));
Console.WriteLine("Unread Email in clutter : " + ClutterFolder.UnreadCount);
}
출처 : http://gsexdev.blogspot.com/2015/01/accessing-clutter-folder-in-ews-in.html
헉
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다