0

これは、MS Outlook メールを取得するために使用しているコードです -

                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;
                  }
                }

MS Outlook 2010 から MAPI を使用して CC 電子メール アドレスを取得すると、この形式で出力が得られます -

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

正確なメールアドレスを取得するにはどうすればよいですか?

4

2 に答える 2

1

使用しますRecipient.AddressEntry.GetExchangeUser.PrimarySmtpAddress(エラー/null チェックは省略)。

于 2013-08-19T13:46:21.140 に答える
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); 
于 2013-08-19T07:36:47.223 に答える