Jak vytvářet, spravovat a používat distribuční seznamy v Exchange Serveru

Aspose.Email API poskytuje možnost vytvářet a číst distribuční seznamy ze serveru Exchange. Distribuční seznamy lze vytvořit na serveru a také do nich lze přidávat členy pomocí IEWSClient. Tento článek ukazuje, jak pracovat s distribučními seznamy na serveru Exchange.

Vytvořit distribuční seznamy

Následující úryvek kódu ukazuje, jak vytvořit distribuční seznam.

IEWSClient client = EWSClient.GetEWSClient("https://outlook.office365.com/ews/exchange.asmx", "testUser", "pwd", "domain");
ExchangeDistributionList distributionList = new ExchangeDistributionList();
distributionList.DisplayName = "test private list";
MailAddressCollection members = new MailAddressCollection();
members.Add("address1@host.com");
members.Add("address2@host.com");
members.Add("address3@host.com");
client.CreateDistributionList(distributionList, members);

Načíst soukromé distribuční seznamy

Následující úryvek kódu ukazuje, jak načíst soukromý distribuční seznam.

IEWSClient client = EWSClient.GetEWSClient("https://outlook.office365.com/ews/exchange.asmx", "testUser", "pwd", "domain");
ExchangeDistributionList[] distributionLists = client.ListDistributionLists();
foreach (ExchangeDistributionList distributionList in distributionLists)
{
    MailAddressCollection members = client.FetchDistributionList(distributionList);
    foreach (MailAddress member in members)
    {
        Console.WriteLine(member.Address);
    }
}

Vytvořit MailAddress z ID seznamu

Následující úryvek kódu ukazuje, jak vytvořit MailAddress z ID distribučního seznamu.


ExchangeDistributionList[] distributionLists = client.ListDistributionLists();
String id = distributionLists[0].Id;
MailAddress distributionListAddress = new MailAddress("privateDL", true);
distributionListAddress.Id.EWSId = id;

Rozšířit veřejné distribuční seznamy

Následující úryvek kódu ukazuje, jak rozšířit veřejný distribuční seznam.


                MailAddressCollection members = client.ExpandDistributionList(new MailAddress("public.distribution.list@host.com"));
                foreach (MailAddress member in members)
                {
                    Console.WriteLine(member.Address);
                }

Přidat členy

Přidat členy do soukromých seznamů

Následující úryvek kódu ukazuje, jak přidat členy do soukromého distribučního seznamu.

IEWSClient client = EWSClient.GetEWSClient("https://outlook.office365.com/ews/exchange.asmx", "testUser", "pwd", "domain");
ExchangeDistributionList[] distributionLists = client.ListDistributionLists();
MailAddressCollection newMembers = new MailAddressCollection();
newMembers.Add("address4@host.com");
newMembers.Add("address5@host.com");
client.AddToDistributionList(distributionLists[0], newMembers);

Přidat členy bez výpisu

Následující úryvek kódu ukazuje, jak přidat členy bez výpisu.

IEWSClient client = EWSClient.GetEWSClient("https://outlook.office365.com/ews/exchange.asmx", "testUser", "pwd", "domain");
ExchangeDistributionList distributionList = new ExchangeDistributionList();
distributionList.Id = "list's id";
distributionList.ChangeKey = "list's change key";
MailAddressCollection newMembers = new MailAddressCollection();
newMembers.Add("address6@host.com");
client.AddToDistributionList(distributionList, newMembers);

Odeslat do soukromého distribučního seznamu

Následující úryvek kódu ukazuje, jak odeslat zprávu do soukromého distribučního seznamu.


                ExchangeDistributionList[] distributionLists = client.ListDistributionLists();
                MailAddress distributionListAddress = distributionLists[0].ToMailAddress();
                MailMessage message = new MailMessage(new MailAddress("from@host.com"), distributionListAddress);
                message.Subject = "sendToPrivateDistributionList";
                client.Send(message);

Odstranit členy

Odstranit členy ze soukromých seznamů

Následující úryvek kódu ukazuje, jak smazat členy ze soukromého distribučního seznamu.

IEWSClient client = EWSClient.GetEWSClient("https://outlook.office365.com/ews/exchange.asmx", "testUser", "pwd", "domain");
ExchangeDistributionList[] distributionLists = client.ListDistributionLists();
MailAddressCollection members = client.FetchDistributionList(distributionLists[0]);
MailAddressCollection membersToDelete = new MailAddressCollection();
membersToDelete.Add(members[0]);
membersToDelete.Add(members[1]);
client.DeleteFromDistributionList(distributionLists[0], membersToDelete);

Odstranit členy bez výpisu

Následující úryvek kódu ukazuje, jak smazat členy bez výpisu.

IEWSClient client = EWSClient.GetEWSClient("https://outlook.office365.com/ews/exchange.asmx", "testUser", "pwd", "domain");
ExchangeDistributionList distributionList = new ExchangeDistributionList();
distributionList.Id = "list's id";
client.DeleteDistributionList(distributionList,true);

Smazat soukromý distribuční seznam

Následující úryvek kódu ukazuje, jak smazat soukromý distribuční seznam.

IEWSClient client = EWSClient.GetEWSClient("https://outlook.office365.com/ews/exchange.asmx", "testUser", "pwd", "domain");
ExchangeDistributionList[] distributionLists = client.ListDistributionLists();
client.DeleteDistributionList(distributionLists[0],true);