Учетные записи Outlook - Как получить адрес электронной почты Exchange? - PullRequest
0 голосов
/ 17 мая 2018

Я перебираю все учетные записи электронной почты в Outlook.Я могу получить адреса электронной почты учетных записей POP и IMAP, но не получаю адреса электронной почты учетных записей MS Exchange.

Вот мой код:

    foreach (Outlook.Account account in accounts) {
        Debug.Print("DisplayName: " + account.DisplayName);
        Debug.Print("UserName: " + account.UserName);
        Debug.Print("CurrentUser.Address: " + account.CurrentUser.Address); //email address or long Exchange address
        Debug.Print("CurrentUser.Name: " + account.CurrentUser.Name);
        Debug.Print("CurrentUser.AddressEntry.Address: " + account.CurrentUser.AddressEntry.Address);
        Debug.Print("DeliveryStore.DisplayName: " + account.DeliveryStore.DisplayName);
    }

Вот результаты дляучетная запись не из Exchange:

DisplayName: Edgar Test Account
UserName: Edgar Tester
CurrentUser.Address: edgar@testtest.com
CurrentUser.Name: Edgar Tester
CurrentUser.AddressEntry.Address: edgar@testtest.com
DeliveryStore.DisplayName: Edgar Tester

А для Exchange:

DisplayName: User Name
UserName: 000300KJDFA6220
CurrentUser.Address: /O=FIRST ORGANIZATION/OU=EXCHANGE ADMINISTRATIVE GROUP(FYDIAASFDSFLT)/CN=RECIPIENTS/CN=00458787FA6220
CurrentUser.Name: /O=FIRST ORGANIZATION/OU=EXCHANGE ADMINISTRATIVE GROUP(FYDLKHHKLSPDLT)/CN=RECIPIENTS/CN=0054654DFA6220
CurrentUser.AddressEntry.Address: /O=FIRST ORGANIZATION/OU=EXCHANGE ADMINISTRATIVE GROUP(FYDIDADS23SPDLT)/CN=RECIPIENTS/CN=0058876220
DeliveryStore.DisplayName: User Name

(я изменил несколько цифр и букв, чтобы анонимизировать это)

Iхотите адрес электронной почты учетной записи Exchange.Как я могу получить это?

Ответы [ 2 ]

0 голосов
/ 17 мая 2018

Для учетных записей Exchange используйте account.CurrentUser.AddressEntry.GetExchangeUser().PrimarySmtpAddress.

0 голосов
/ 17 мая 2018

Попробуйте ExchangeService.ResolveName :

//ExchangeService service; //you have some service in your code.

NameResolutionCollection nameColl = service.ResolveName(CurrentUser.Name, ResolveNameSearchLocation.DirectoryOnly,true);

Немного подправил параметры.

...