2013-08-19 3 views
0

Это код, я использую, чтобы получить прогноз MS почты -Как получить адрес электронной почты от MS Outlook 2010?

   NameSpace _nameSpace; 
       ApplicationClass _app; 
       _app = new ApplicationClass(); 
       _nameSpace = _app.GetNamespace("MAPI"); 
       object o = _nameSpace.GetItemFromID(EntryIDCollection); 
       MailItem Item = (MailItem)o; 
       string HTMLbpdyTest = Item.HTMLBody; 
       CreationTime = Convert.ToString(Item.CreationTime); 

       Outlook.Recipients olRecipients = default(Outlook.Recipients); 
       olRecipients = Item.Recipients; 
       string strCcEmails = string.Empty; 
       foreach (Outlook.Recipient olRecipient in Item.Recipients) 
       { 
        if (olRecipient.Type == Outlook.OlMailRecipientType.olCC) 
        { 
        strCcEmails = olRecipient.Address; 
        } 
       } 

Хотя получение CC адрес электронной почты с помощью MAPI из MS Outlook 2010 ее давая выход в этом формате -

strCcEmails = /O=EXG5/OU=EXCHANGE ADMINISTRATIVE GROUP (FYDIBOHF23SPDLT)/CN=RECIPIENTS/CN=Test88067 

Как для получения точного адреса электронной почты?

+0

Я не понимаю. Это строка или что? Я не вижу в нем адреса электронной почты. –

+0

Можете ли вы опубликовать весь код ... – Rohit

ответ

0

Попробуйте код из http://msdn.microsoft.com/en-us/library/office/ff868695.aspx

В частности:

Outlook.PropertyAccessor pa = olRecipient.PropertyAccessor; 
string smtpAddress = pa.GetProperty(PR_SMTP_ADDRESS).ToString(); 
Debug.WriteLine(olRecipient.Name + " SMTP=" + smtpAddress); 
+0

Не работает для меня. Ошибка выброса - свойство "/ O = EXG5/OU = EXCHANGE ADMINISTRATIVE GROUP (FYDIBOHF23SPDLT)/CN = RECIPIENTS/CN = Test88067" не может быть проанализировано или имеет недопустимый формат. – user2318170

+0

Какой код вы используете? Трудно диагностировать, не видя точно, что вы пытаетесь. – Jeff

0

Использование Recipient.AddressEntry.GetExchangeUser.PrimarySmtpAddress (ошибка/нулевой проверки опущена).

Смежные вопросы