2017-03-28 228 views
1

AddressEntry.Addressプロパティの説明に基づいて、次のように「AddressEntryの電子メールアドレスを表すString(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テーブルを使用する場合は、償還を選択するほうがよいでしょう。 –

関連する問題