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); |