사전에 Exchange Web Services Managed API(SDK)가 설치 되어져 있어야 하며

프로젝트 참조에 Microsoft.Exchange.WebServices (C:\Program Files\Microsoft\Exchange\Web Services\1.2\Microsoft.Exchange.WebServices.dll)를 추가하시기 바랍니다.

using Microsoft.Exchange.WebServices.Data;

본 샘플은 제목만 읽어온것이며, 경우에 따라서는 메소드를 잘 활용하시면 여러가지 정보를 읽어 올 수 있습니다.

소스만 보셔도 쉽게 이해가 가능 할 실 겁니다.

[????] 된 부분은 사용자에 맞게 변경하시기 바랍니다.

Exchange 서버 버전은 2010 SP1입니다.

8라인에서 서버에 맞는 버전을 선택하여 주세요. (2010 SP1은 ExchangeVersion.Exchange2010_SP1)

16라인에서 1개만 가져올경우 샘플이며, 크기는 알아서 조절 하세요(new ItemView(1))

string strExchangeDomain = @"[Domain]"; //ex) userpark.net
string strExchangeServerName = string.Format("exchange.{0}", strExchangeDomain); // exchange.userpark.net
string strExchangeUserID = @"[UserID]"; //사용자 ID
string strExchangeUserPs = @"[Password]"; //사용자 Password
string strExchangeMail = string.Format("{0}@{1}", strExchangeUserID, strExchangeDomain);  //ex)userpark@userpark.net
string strExchangeEwsUrl = string.Format("{0}://{1}/EWS/Exchange.asmx", "https", strExchangeServerName);

ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2010_SP1);

//두개중 하나 NetworkCredential 또는 WebCredentials
//service.Credentials = new System.Net.NetworkCredential(strExchangeUserID, strExchangeUserPs, strExchangeDomain);
service.Credentials = new WebCredentials(strExchangeUserID, strExchangeUserPs, strExchangeDomain);

service.Url = new Uri(strExchangeEwsUrl);

Microsoft.Exchange.WebServices.Data.FindItemsResults<Microsoft.Exchange.WebServices.Data.Item> findResults = service.FindItems(Microsoft.Exchange.WebServices.Data.WellKnownFolderName.Inbox, new ItemView(1));
foreach (Microsoft.Exchange.WebServices.Data.Item item in findResults.Items)
{
	//if (item.IsNew == true)  //읽지 않은 경우만 가져올 경우
	Console.WriteLine(item.Subject);
}

 

2012/06/25 - [자료실] - Microsoft Exchange Web Service Managed API SDK 1.2.1

출처 : 자작(userpark)

+ Recent posts