Criar listas de distribuição do Outlook em C#

As listas de distribuição de email facilitam o envio de um único email para um grupo de pessoas sem escrever seus IDs de email individuais. Você pode criar quantas listas forem necessárias com base nos círculos que você possui, como oficial, social, etc. MS Outlook também permite que você faça as listas de distribuição e muitas vezes você pode precisar criar essas listas programaticamente. Então vamos ver como criar e ler listas de distribuição do MS Outlook em C# .NET.

API C# .NET para criar listas de distribuição do MS Outlook

Aspose.Email for .NET é uma API rica em recursos para criar, enviar e processar e-mails. Além disso, permite trabalhar com diferentes clientes de e-mail, incluindo MS Outlook. Usaremos essa API para criar e ler as listas de distribuição do Outlook. Você pode baixar a DLL da API ou instalá-la de NuGet usando o seguinte comando.

PM> Install-Package Aspose.Email

Criar uma lista de distribuição no MS Outlook em C#

O MS Outlook usa o formato PST para armazenar as informações sobre as listas de distribuição. Vamos ver como criar uma lista de distribuição do Outlook em C# usando Aspose.Email para .NET.

O exemplo de código a seguir mostra como criar uma lista de distribuição do MS Outlook em C#.

string displayName1 = "Sebastian Wright";
string email1 = "SebastianWright@dayrep.com";

string displayName2 = "Wichert Kroos";
string email2 = "WichertKroos@teleworm.us";

string strEntryId1;
string strEntryId2;

// Criar lista de distribuição de contatos
using (PersonalStorage personalStorage = PersonalStorage.Create("list.pst", FileFormatVersion.Unicode))
{
    // Adicione a pasta de contatos ao PST
    Aspose.Email.Storage.Pst.FolderInfo contactFolder = personalStorage.CreatePredefinedFolder("Contacts", StandardIpmFolder.Contacts);

    // Criar contatos
    strEntryId1 = contactFolder.AddMapiMessageItem(new MapiContact(displayName1, email1));
    strEntryId2 = contactFolder.AddMapiMessageItem(new MapiContact(displayName2, email2));

    // Crie uma coleção para manter os membros
    MapiDistributionListMember member1 = new MapiDistributionListMember(displayName1, email1);
    member1.EntryIdType = MapiDistributionListEntryIdType.Contact;
    member1.EntryId = Convert.FromBase64String(strEntryId1);

    MapiDistributionListMember member2 = new MapiDistributionListMember(displayName2, email2);
    member2.EntryIdType = MapiDistributionListEntryIdType.Contact;
    member2.EntryId = Convert.FromBase64String(strEntryId1);

    // Adicionar membros à coleção
    MapiDistributionListMemberCollection members = new MapiDistributionListMemberCollection();
    members.Add(member1);
    members.Add(member2);

    // Criar lista
    MapiDistributionList distributionList = new MapiDistributionList("Contact list", members);
    distributionList.Body = "Distribution List Body";
    distributionList.Subject = "Sample Distribution List using Aspose.Email";

    // Adicionar lista de distribuição ao PST
    contactFolder.AddMapiMessageItem(distributionList);
}

Leia uma lista de distribuição do MS Outlook em C#

Você também pode ler uma lista de distribuição do Outlook e buscar as informações dos contatos. As etapas a seguir mostram como realizar esta operação.

O exemplo de código a seguir mostra como ler uma lista de distribuição do MS Outlook em C#.

// Carregar arquivo PST
MapiMessage message = MapiMessage.Load("list.pst");

// Buscar lista de distribuição
MapiDistributionList dlist = (MapiDistributionList)message.ToMapiMessageItem();

// Obter coleção de membros
MapiDistributionListMemberCollection members = dlist.Members;

// Leia cada MapiDistributionListMember da coleção
MapiDistributionListMember member1 = members[0];

Obtenha uma licença de API gratuita

Você pode usar o Aspose.Email para .NET sem limitações de avaliação obtendo uma licença temporária gratuita.

Conclusão

Uma lista de distribuição no MS Outlook permite enviar um e-mail para um grupo de pessoas. Neste artigo, você aprendeu como criar listas de distribuição do MS Outlook em C#. Além disso, você viu como ler as listas de distribuição do Outlook programaticamente. Além disso, você pode explorar mais sobre a API de e-mail .NET usando a documentação. Além disso, você pode postar suas perguntas ou dúvidas em nosso fórum.

Veja também