2012-08-22 2 views
2

Exchange Interop 응용 프로그램을 작성 중이며 Exchange 사용자 개체에서 국가/지역 항목을 가져와야합니다. 그것은 공공 재산을 통해 사용할 수 없습니다, 어쨌든 그것을 얻을 수있는 방법이 있습니까?ExchangeUser 개체에서 국가/지역 정보 가져 오기

ExchangeUser entry = OutlookManager.Instance.GetAddressBookEntry(mail.SenderName, mail.SenderAddress); 

if (entry != null) 
{ 
    var licensee = new Licensee(); 
    licensee.City = entry.City; 
    licensee.Company = entry.CompanyName; 
    //todo get country 
    licensee.Country = ??? 
    licensee.Department = entry.Department; 
    licensee.FirstName = entry.FirstName; 
    licensee.LastName = entry.LastName; 
    licensee.OutlookDisplayName = entry.Name; 
} 

답변

1

당신은 나라 속성을 검색 할 ExchangeUser.PropertyAccessor를 사용할 수 있습니다. 속성이없는 경우 try/catch가 필요합니다. source referenceMail User Properties을 참조하십시오.

try { 
    licensee.Country = entry.PropertyAccessor.GetProperty("http://schemas.microsoft.com/mapi/proptag/0x3A26001E"); 
} 
catch { licensee.Country = ""; }   
+0

감사합니다. 웃기는 점은 Outlook을 통해 주소록 항목을 보면 Region/Country 필드가 있지만 COM 예외가 발생한다는 것입니다. – metacircle

+0

국가/지역은 Outlook의 주소록 항목 아래에 표시됩니까? 여러 국가/지역 필드가 있습니다. PR_COUNTRY, PR_BUSINESS_ADDRESS_COUNTRY, PR_HOME_ADDRESS_COUNTRY 또는 PR_OTHER_ADDRESS_COUNTRY가 될 수 있습니다. 검색 할 속성 태그 (* proptag *)를 확인하려면 [메일 사용자 속성] (http://msdn.microsoft.com/en-us/library/bb446002.aspx)을 참조하십시오. – SliverNinja

+0

그것은 '일반'에 표시되며 이미 모든 속성을 시도했지만 아무도 작동하지 않았습니다. – metacircle