[英]How to get Sender email address using Microsoft.Office.Interop.Outlook
[英]How to retrieve the sender smtp email address with Outlook interop?
我正在使用c#和Microsoft Outlook interop Outlook dll從Outlook(Exchange)讀取和檢索郵件。
我在解析發件人電子郵件地址時遇到問題,因為代碼返回了Exchange地址,而不是普通的電子郵件ID。 我要檢索的內容類似於username@abc.com
但我的代碼輸出是電子郵件的Exchange地址:
(/ O = EXCHANGELABS / OU =交換管理組(xxxxxxxxxxx)/ CN =收件人/ CN = XXXXXXX32AD740E69184DC03B2A406F4-XXX XXX)
我嘗試過的代碼:
emailItem.Sender
和
emailItem.SenderEmailAddress
如何將Exchange地址轉換為smtp地址,或者如何僅檢索smtp地址?
此代碼應執行以下操作:
string senderEmailAddress;
if (mi.SenderEmailType == "EX")
{
senderEmailAddress = emailItem.Sender.GetExchangeUser().PrimarySmtpAddress;
}
else
{
senderEmailAddress = emailItem.SenderEmailAddress;
}
哪里:
emailItem
是一個MailItemClass
emailItem.SenderEmailType
是Outlook項目發件人的電子郵件地址類型的字符串表示形式
Sender
屬性返回一個AddressEntry
如果地址對應於一個Exchange用戶,則GetExchangeUser
返回一個代表AddressEntry
的ExchangeUser
對象。
從那里我們可以檢索PrimarySmtpAddress
( string
)。
這應該與Outlook 2010及更高版本一起使用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.