Trabajando con Listas de Distribución en Exchange Server
Trabajando con Listas de Distribución
Aspose.Email API proporciona la capacidad de crear y leer listas de distribución desde el servidor Exchange. Las listas de distribución pueden ser creadas en el servidor, así como se pueden agregar miembros a ellas usando el IEWSClient. Este artículo muestra cómo trabajar con listas de distribución en el servidor 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-C | |
System::SharedPtr<IEWSClient> client = GetExchangeEWSClient(GetExchangeTestUser()); | |
System::SharedPtr<ExchangeDistributionList> distributionList = System::MakeObject<ExchangeDistributionList>(); | |
distributionList->set_DisplayName(u"test private list"); | |
System::SharedPtr<MailAddressCollection> members = System::MakeObject<MailAddressCollection>(); | |
members->Add(u"address1@host.com"); | |
members->Add(u"address2@host.com"); | |
members->Add(u"address3@host.com"); | |
try | |
{ | |
client->CreateDistributionList(distributionList, members); | |
} | |
catch (System::Exception& ex) | |
{ | |
System::Console::WriteLine(ex.get_Message()); | |
} |
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-C | |
System::ArrayPtr<System::SharedPtr<ExchangeDistributionList>> distributionLists = client->ListDistributionLists(); | |
for (System::SharedPtr<ExchangeDistributionList> distributionList : distributionLists) | |
{ | |
System::SharedPtr<MailAddressCollection> members = client->FetchDistributionList(distributionList); | |
for (auto member : System::IterateOver(members)) | |
{ | |
System::Console::WriteLine(member->get_Address()); | |
} | |
} |
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-C | |
System::SharedPtr<MailAddressCollection> members = client->ExpandDistributionList(System::MakeObject<MailAddress>(u"public.distribution.list@host.com")); | |
for (auto member : System::IterateOver(members)) | |
{ | |
System::Console::WriteLine(member->get_Address()); | |
} |
Agregar miembros
Agregando miembros a una Lista de Distribución Privada
El siguiente fragmento de código muestra cómo agregar 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-C | |
System::SharedPtr<IEWSClient> client = GetExchangeEWSClient(GetExchangeTestUser()); | |
System::ArrayPtr<System::SharedPtr<ExchangeDistributionList>> distributionLists = client->ListDistributionLists(); | |
System::SharedPtr<MailAddressCollection> newMembers = System::MakeObject<MailAddressCollection>(); | |
newMembers->Add(u"address4@host.com"); | |
newMembers->Add(u"address5@host.com"); | |
client->AddToDistributionList(distributionLists[0], newMembers); |
Agregar miembros sin listar
El siguiente fragmento de código muestra cómo agregar miembros sin listar.
// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-C | |
System::SharedPtr<IEWSClient> client = GetExchangeEWSClient(GetExchangeTestUser()); | |
System::SharedPtr<ExchangeDistributionList> distributionList = System::MakeObject<ExchangeDistributionList>(); | |
distributionList->set_Id(u"list's id"); | |
distributionList->set_ChangeKey(u"list's change key"); | |
System::SharedPtr<MailAddressCollection> newMembers = System::MakeObject<MailAddressCollection>(); | |
newMembers->Add(u"address6@host.com"); | |
client->AddToDistributionList(distributionList, newMembers); |
Enviar Correo a Lista de Distribución Privada
El siguiente fragmento de código muestra cómo enviar correos a una lista de distribución privada.
// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-C | |
System::ArrayPtr<System::SharedPtr<ExchangeDistributionList>> distributionLists = client->ListDistributionLists(); | |
System::SharedPtr<MailAddress> distributionListAddress = distributionLists[0]->ToMailAddress(); | |
System::SharedPtr<MailMessage> message = System::MakeObject<MailMessage>(System::MakeObject<MailAddress>(u"from@host.com"), distributionListAddress); | |
message->set_Subject(u"sendToPrivateDistributionList"); | |
client->Send(message); |
Eliminando miembros
Eliminando miembros de la 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-C | |
System::ArrayPtr<System::SharedPtr<ExchangeDistributionList>> distributionLists = client->ListDistributionLists(); | |
System::SharedPtr<MailAddressCollection> members = client->FetchDistributionList(distributionLists[0]); | |
System::SharedPtr<MailAddressCollection> membersToDelete = System::MakeObject<MailAddressCollection>(); | |
membersToDelete->Add(members->idx_get(0)); | |
membersToDelete->Add(members->idx_get(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-C | |
System::SharedPtr<IEWSClient> client = GetExchangeEWSClient(GetExchangeTestUser()); | |
System::SharedPtr<ExchangeDistributionList> distributionList = System::MakeObject<ExchangeDistributionList>(); | |
distributionList->set_Id(u"list's id"); | |
distributionList->set_ChangeKey(u"list's change key"); | |
System::SharedPtr<MailAddressCollection> membersToDelete = System::MakeObject<MailAddressCollection>(); | |
System::SharedPtr<MailAddress> addressToDelete = System::MakeObject<MailAddress>(u"address", true); | |
//addressToDelete.Id.EWSId = "member's id"; | |
membersToDelete->Add(addressToDelete); | |
try | |
{ | |
client->AddToDistributionList(distributionList, membersToDelete); | |
} | |
catch (System::Exception& ex) | |
{ | |
System::Console::WriteLine(ex.get_Message()); | |
} |
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-C | |
System::SharedPtr<IEWSClient> client = GetExchangeEWSClient(GetExchangeTestUser()); | |
try | |
{ | |
System::ArrayPtr<System::SharedPtr<ExchangeDistributionList>> distributionLists = client->ListDistributionLists(); | |
client->DeleteDistributionList(distributionLists[0], true); | |
} | |
catch (System::Exception& ex) | |
{ | |
System::Console::WriteLine(ex.get_Message()); | |
} |
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-C | |
System::SharedPtr<IEWSClient> client = GetExchangeEWSClient(GetExchangeTestUser()); | |
System::SharedPtr<ExchangeDistributionList> distributionList = System::MakeObject<ExchangeDistributionList>(); | |
distributionList->set_Id(u"list's id"); | |
try | |
{ | |
client->DeleteDistributionList(distributionList, true); | |
} | |
catch (System::Exception& ex) | |
{ | |
System::Console::WriteLine(ex.get_Message()); | |
} |