Adicionando MapiDistributionList ao PST

Criar Novo PST, Adicionar Subpastas e Mensagens mostrou como criar um arquivo PST e adicionar uma subpasta a ele. Com Aspose.Email você pode adicionar uma MapiDistributionList à subpasta Contatos de um arquivo PST que você criou ou carregou.

Carregar MapiDistributionList de arquivo

O código abaixo carrega uma lista de distribuição MAPI de um arquivo.

// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-Java
MapiMessage msg = MapiMessage.fromFile(dataDir + "DistList.msg");
MapiDistributionList dlist = (MapiDistributionList) msg.toMapiMessageItem();

Criar uma Nova MapiDistributionList e Adicioná-la à Subpasta Contatos

Abaixo estão os passos para adicionar uma MapiDistributionList ao PST:

  1. Criar um novo PST.
  2. Adicionar a pasta Contatos ao PST.
  3. Criar contatos de exemplo.
  4. Criar uma lista de distribuição com base nos contatos criados.
  5. Adicionar a lista de distribuição ao PST.

O trecho de código abaixo mostra como criar uma MapiDistributionList e depois adicioná-la à pasta Contatos de um arquivo PST recém-criado.

// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-Java
String displayName1 = "Sebastian Wright";
String email1 = "SebastianWright@dayrep.com";
String displayName2 = "Wichert Kroos";
String email2 = "WichertKroos@teleworm.us";
String strEntryId1;
String strEntryId2;
// Create distribution list from contacts
PersonalStorage pst = PersonalStorage.create(dataDir + "pstFileName1_out.pst", FileFormatVersion.Unicode);
// Add the contact folder to the PST
FolderInfo contactFolder = pst.createPredefinedFolder("Contacts", StandardIpmFolder.Contacts);
// Create contacts
strEntryId1 = contactFolder.addMapiMessageItem(new MapiContact(displayName1, email1));
strEntryId2 = contactFolder.addMapiMessageItem(new MapiContact(displayName2, email2));
// Create distribution list on the base of the created contacts
MapiDistributionListMember member1 = new MapiDistributionListMember(displayName1, email1);
member1.setEntryIdType(MapiDistributionListEntryIdType.Contact);
byte[] decodedBytes = Base64.decodeBase64(strEntryId1);
member1.setEntryId(decodedBytes);
MapiDistributionListMember member2 = new MapiDistributionListMember(displayName2, email2);
member2.setEntryIdType(MapiDistributionListEntryIdType.Contact);
decodedBytes = Base64.decodeBase64(strEntryId2);
member2.setEntryId(decodedBytes);
MapiDistributionListMemberCollection members = new MapiDistributionListMemberCollection();
members.addItem(member1);
members.addItem(member2);
MapiDistributionList distributionList = new MapiDistributionList("Contact list", members);
distributionList.setBody("Distribution List Body!");
distributionList.setSubject("Distribution List Subject!");
// Add distribution list to PST
contactFolder.addMapiMessageItem(distributionList);

Criar uma Lista de Distribuição Pontual

Para esta lista de distribuição, não são necessários contatos separados.

// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-Java
PersonalStorage pst = PersonalStorage.create(dataDir + "pstFileName2_out.pst", FileFormatVersion.Unicode);
// Add the contact folder to the PST
FolderInfo contactFolder = pst.createPredefinedFolder("Contacts", StandardIpmFolder.Contacts);
MapiDistributionListMemberCollection oneOffmembers = new MapiDistributionListMemberCollection();
oneOffmembers.addItem(new MapiDistributionListMember("John R. Patrick", "JohnRPatrick@armyspy.com"));
oneOffmembers.addItem(new MapiDistributionListMember("Tilly Bates", "TillyBates@armyspy.com"));
MapiDistributionList oneOffMembersList = new MapiDistributionList("Simple list", oneOffmembers);
contactFolder.addMapiMessageItem(oneOffMembersList);