Trabajando con Listas de Distribución en Exchange Server

Trabajando con Listas de Distribución

La API Aspose.Email proporciona la capacidad de crear y leer listas de distribución desde el servidor de Exchange. Las listas de distribución se pueden crear en el servidor y los miembros se pueden añadir a ellas utilizando el IEWSClient. Este artículo muestra cómo trabajar con listas de distribución en el servidor de Exchange.

Creando una Lista de Distribución

El siguiente fragmento de código muestra cómo crear una lista de distribución.

// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-.NET
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);

Obtener Lista de Distribución Privada

El siguiente fragmento de código muestra cómo obtener una lista de distribución privada.

// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-.NET
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);
}
}

Crear MailAddress a partir del Id de la Lista de Distribución

El siguiente fragmento de código muestra cómo crear MailAddress a partir del Id de la lista de distribución.

// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-.NET
ExchangeDistributionList[] distributionLists = client.ListDistributionLists();
String id = distributionLists[0].Id;
MailAddress distributionListAddress = new MailAddress("privateDL", true);
distributionListAddress.Id.EWSId = id;

Expandir Lista de Distribución Pública

El siguiente fragmento de código muestra cómo expandir la lista de distribución pública.

// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-.NET
MailAddressCollection members = client.ExpandDistributionList(new MailAddress("public.distribution.list@host.com"));
foreach (MailAddress member in members)
{
Console.WriteLine(member.Address);
}

Añadiendo miembros

Añadiendo miembros a una Lista de Distribución Privada

El siguiente fragmento de código muestra cómo añadir miembros a una lista de distribución privada.

// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-.NET
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);

Añadir miembros sin listar

El siguiente fragmento de código muestra cómo añadir miembros sin listar.

// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-.NET
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);

Enviar a Lista de Distribución Privada

El siguiente fragmento de código muestra cómo enviar un mensaje a una lista de distribución privada.

// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-.NET
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);

Eliminando miembros

Eliminando miembros de una Lista de Distribución Privada

El siguiente fragmento de código muestra cómo eliminar miembros de una lista de distribución privada.

// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-.NET
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);

Eliminar miembros sin listar

El siguiente fragmento de código muestra cómo eliminar miembros sin listar.

// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-.NET
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 membersToDelete = new MailAddressCollection();
MailAddress addressToDelete = new MailAddress("address", true);
//addressToDelete.Id.EWSId = "member's id";
membersToDelete.Add(addressToDelete);
client.AddToDistributionList(distributionList, membersToDelete);

Eliminar Lista de Distribución Privada

El siguiente fragmento de código muestra cómo eliminar una lista de distribución privada.

// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-.NET
IEWSClient client = EWSClient.GetEWSClient("https://outlook.office365.com/ews/exchange.asmx", "testUser", "pwd", "domain");
ExchangeDistributionList[] distributionLists = client.ListDistributionLists();
client.DeleteDistributionList(distributionLists[0],true);

Eliminar sin Listar

El siguiente fragmento de código muestra cómo eliminar sin listar.

// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-.NET
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);