Language/C#(CLR,.NET)
[C#] Exchange 메일 목록 읽어오기
천일몽
2012. 6. 25. 11:27
사전에 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)