2017-03-28 25 views
1

根據對AddressEntry.Address屬性的描述,我期望以下內容「返回表示AddressEntry的電子郵件地址的字符串(C#中的字符串)」。從outlook的globalAddressList中檢索郵件地址

Outlook.AddressList gal = Application.Session.GetGlobalAddressList(); 
    Outlook.AddressEntries ae = gal.AddressEntries; 
    List<string> email = new List<string>(); 

    foreach (Outlook.AddressEntry e in ae) 
    { 
     email.Add(e.Address); 
    } 

相反,電子郵件列表填充用繩子,看起來像......

"/o=companyName/ou=Exchange Administrative Group (FYDIBOHF23SPDLT)/cn=Recipients/cn=firstname.lastname" 

我寧願它返回類似....

[email protected] 

我如何使用這個不正確?

回答

2

如果AddressEntry.Type == "EX",請使用AddressEntry.GetExchangeUser().PrimarySmtpAddress。準備好處理空值和例外。

+0

謝謝。不知道我會如何通過文檔找到它。正確,需要處理空值和捕獲,但仍然在全球聯繫人列表中有1000個地址,這需要2分鐘才能加載。哎喲!!! –

+0

通過成千上萬的條目循環播放我絕不是一個好主意。如果您想使用MAPI表,則兌換可能是更好的選擇。 –

相關問題