Получение членов GroupContact из ProbileGroup в рамках глобального списка адресов (EWS)

StackOverflow https://stackoverflow.com/questions/4227001

Вопрос

При отправке электронных писем в списки рассылки сами списки находятся в глобальном списке адресов (GAL). Доступ к GAL In Outlook 2010 - это простой вопрос выскакивания в вашу адресную книгу и выбрать соответствующую адресную книгу (в этом случае, GAL для зарегистрированного пользователя пользователя).

Я пробовал и попытался получить доступ к членам контактной группы в GAL, но не имеет удостоверения личности (и как таковой, NO UniqueId либо). Он подходит как MailBoxType of mailboxtype.publicgroup из свойства Tourecipients отправленного письма, но я не могу узнать, как получить доступ к фактическим контактным адресам!

Кто-нибудь знает, как я могу получить их? Я попробовал делать поиск общего папки, поиск полных контактов, но ничего не находит.

Даниэль.

Это было полезно?

Решение

EWS - это не правильный инструмент для работы. Вам нужно запросить AcciveDirectory. Видеть http://www.infinitec.de/post/2005/02/how-to-get-the-global-address-list-prograporicate.aspx. Например.

Другие советы

Я использую Exchange Web Services управлял API 1.1 SDK, и он работает как очарование.
Заменять <exchange_server> и <group_name> с вашим собственным.

using System;
using System.Windows.Forms;
using Microsoft.Exchange.WebServices.Data;

namespace test3
{
    public partial class Form1 : Form
    {
        ExchangeService service = null;

        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            service = new ExchangeService();
            service.Url = new Uri("https://<exchange_server>/EWS/Exchange.asmx");
        }

        private void button1_Click(object sender, EventArgs e)
        {
            NameResolutionCollection nameResolutions = service.ResolveName(
                "<group_name>",
                ResolveNameSearchLocation.DirectoryOnly,
                true);

            foreach (NameResolution nameResolution in nameResolutions)
            {
                ExpandGroupResults groupResults = service.ExpandGroup(nameResolution.Mailbox.Address);
                foreach (EmailAddress member in groupResults.Members)
                {
                    Console.WriteLine(member.Name + " <" + member.Address + ">");
                }
            }
        }
    }
}
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top