2016-10-13 2 views
0

특정 회의실의 약속을 위해 Exchange 서버에서 전자 메일 본문을 가져 오려고했지만 성공하지 못했습니다. 인터넷을 통해 모든 블로그를 확인했지만 아무 도움도되지 않았습니다.Outlook 교환 서버 (EWS)에서 약속에 대한 약속 본문을 가져 오는 방법, C#?

접근

public class MailItem 
{ 
    public string From; 
    public string[] Recipients; 
    public string Subject; 
    public string Body; 
} 

public static MailItem[] GetUnreadMailFromInbox(ExchangeService service, string address) 
{ 
    // Address is the email address for an meeting room 
    try 
    { 
     service.ImpersonatedUserId = new ImpersonatedUserId(ConnectingIdType.SmtpAddress, address); 
     FindItemsResults<Item> findResults = service.FindItems(WellKnownFolderName.Inbox, new ItemView(128)); 
     ServiceResponseCollection<GetItemResponse> items = 
     service.BindToItems(findResults.Select(item => item.Id), new PropertySet(BasePropertySet.FirstClassProperties, EmailMessageSchema.From, EmailMessageSchema.ToRecipients)); 

     FindItemsResults<Item> findResults2 = service.FindItems(WellKnownFolderName.Calendar, new ItemView(128)); 
     ServiceResponseCollection<GetItemResponse> items2 = 
     service.BindToItems(findResults2.Select(item2 => item2.Id), new PropertySet(BasePropertySet.FirstClassProperties, EmailMessageSchema.From, EmailMessageSchema.ToRecipients)); 

     return items.Select(item => 
     { 
      return new MailItem() 
      { 
       From = address, 
       Recipients = ((Microsoft.Exchange.WebServices.Data.EmailAddressCollection)item.Item[EmailMessageSchema.ToRecipients]).Select(recipient => recipient.Address).ToArray(), 
       Subject = item.Item.Subject, 
       Body = item.Item.Body.ToString(), 
      }; 
     }).ToArray(); 
    } 
    catch (Exception ex) 
    { 
     throw ex; 
    } 
} 

내가 약속의 본문 내용을 가져 오는에 대한 솔루션을 필요

service.GetUserAvailability 
(
    attendees, 
    new TimeWindow(twStart, twEnd), 
    AvailabilityData.FreeBusy 
).AttendeesAvailability[0].CalendarEvents; 

접근 B : 저는 여기에 세부 사항을 얻기 위해 교환 서버에 접속을 시도하고있는 코드는 교환 서버에서.

답변

0

이미 Exchange 서비스에 성공적으로 연결되어 있고 약속 본문 부분 만 검색하려고한다고 가정 해보십시오.

속성 세트에 EmailMessageSchema.Body을 추가해보십시오.

service.BindToItems(findResults2.Select(item2 => item2.Id), new PropertySet(BasePropertySet.FirstClassProperties, EmailMessageSchema.From, EmailMessageSchema.Body, EmailMessageSchema.ToRecipients)); 
관련 문제