메일 항목에 대한 보낸 사람의 SMTP 전자 메일 주소를 검색하는 Outlook 플러그인을 작성했습니다. 그것은 대부분의 컴퓨터에서 잘 작동하지만 Exchange 사용자가 보낸 전자 메일의 SMTP 주소를 확인할 때마다 COMException을 throw하는 하나의 컴퓨터 (새 개발 컴퓨터)가 있습니다. 아래는 내가 사용하고 코드 ...받는 사람 개체의 AddressEntry 속성에 액세스 할 때 다음 COMException이 발생Outlook Interop AddressEntry 예외
private string SenderEmail(MailItem item)
{
if (item == null)
{
return "";
}
else
{
string senderEmail = string.Empty;
if (item.SenderEmailType.ToUpper() == "EX")
senderEmail = GetEmailAddressFromOU(item.SenderEmailAddress);
else
senderEmail = item.SenderEmailAddress;
return senderEmail;
}
}
private string GetEmailAddressFromOU(string ouName)
{
string emailAddress = string.Empty;
NameSpace oNS = ((Microsoft.Office.Interop.Outlook.Application)OutlookAppObj).GetNamespace("MAPI");
Recipient recip = oNS.CreateRecipient(ouName);
recip.Resolve();
ExchangeUser exUser = recip.AddressEntry.GetExchangeUser();
emailAddress = exUser.PrimarySmtpAddress;
Marshal.ReleaseComObject(exUser);
Marshal.ReleaseComObject(recip);
Marshal.ReleaseComObject(oNS);
return emailAddress;
}
입니다 :
메시지 = "시도한 작업이 실패하는 객체가 될 수 없습니다. 찾았습니다. "
Outlook 2010을 사용하는 Windows 7 (64 비트)을 사용하고 있지만이 동일한 코드는 동일한 OS 및 Outlook 버전이있는 다른 컴퓨터에서 작동합니다. 또한 Windows 7 (32 비트) 및 Outlook 2010이었던 이전 개발 기계에서도 잘 작동합니다.
StackOverflow 및 Google에서 해결 방법을 검색했지만 찾지 못했습니다.
누구든지이 문제에 대해 밝힐 수 있습니까?
추가 정보 : 문제는 보낸 사람의 LDAP 경로를 확인하는 중입니다. 새 이메일의받는 사람 상자에 LDAP 경로를 입력하고 "이름 확인"을 클릭하면 올바른 사용자로 확인됩니다. 내 컴퓨터에서 "이름 확인"을 클릭하면 "Microsoft Outlook에서 인식하지 못합니다."라는 메시지가 나타납니다. –