簡體   English   中英

如何在Microsoft Exchange Web服務(EWS)中使用searchfilters和viewbase

[英]how to use searchfilters and viewbase in microsoft exchange web service (EWS)

我正在使用Exchange Web服務(EWS)從Exchange服務器讀取電子郵件。
我想從DateTimeSent大於datetime.now交換服務器中讀取電子郵件。
我還沒有使用searchfilter FindItems參數searchfilter和viewbase,如何使用它們?

       //Email exchange starts here
    ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2010_SP1)
    {
        Credentials = new WebCredentials(credentials.SmtpUser, credentials.SmtpPassword)
    };

    //to add logic for itemview
    service.AutodiscoverUrl(credentials.SmtpFromAddress, RedirectionUrlValidationCallback);
    //var inbox = service.FindItems(WellKnownFolderName.Inbox, new ItemView(100));
      var inbox = service.FindItems(WellKnownFolderName.Inbox,); //what to add here?

    foreach (EmailMessage item in inbox.Items.Where(x => Convert.ToDateTime(x.DateTimeSent) > dateTime.Now))
    {

    }

我不知道如何將DateTimeSent大於DateTime.Now以及為什么需要它,但是下面是一個示例如何執行搜索:

string email = "<user>@<host>";
string user = "<user>";
string password = "<password>";
string serviceUrl = "https://<url>/ews/exchange.asmx";

Mailbox mailbox = new Mailbox(email);
ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2007_SP1);
service.Credentials = new WebCredentials(user, password);
service.Url = new Uri(serviceUrl);

FolderId inbox = new FolderId(WellKnownFolderName.Inbox, mailbox);
SearchFilter searchFilter = new SearchFilter.IsGreaterThan(ItemSchema.DateTimeSent, DateTime.Now);
ItemView view = new ItemView(10); // take 10 items
view.OrderBy.Add(ItemSchema.DateTimeReceived, SortDirection.Descending);
FindItemsResults<Item> result = service.FindItems(inbox, searchFilter, view);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM