Arbeiten mit Verteilerlisten

Mit der Aspose.Email API ist es möglich, eine Verteilerliste zu erstellen, die eine Sammlung mehrerer Kontakte ist. Eine Verteilerliste kann im Outlook‑MSG‑Format auf Festplatte gespeichert werden und durch Öffnen in MS Outlook angezeigt/bearbeitet werden.

Erstellen und Speichern von Verteilerlisten

Das folgende Code‑Snippet zeigt, wie man eine Verteilerliste erstellt und speichert.

// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-Java
// The path to the File directory.
String dataDir = "outlook/";

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
try (PersonalStorage personalStorage = PersonalStorage.create(dataDir + "CreateDistributionListInPST_out.pst", FileFormatVersion.Unicode)) {
    // Add the contact folder to pst
    FolderInfo contactFolder = personalStorage.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);
    member1.setEntryId(Base64.getDecoder().decode(strEntryId1));

    MapiDistributionListMember member2 = new MapiDistributionListMember(displayName2, email2);
    member2.setEntryIdType(MapiDistributionListEntryIdType.Contact);
    member2.setEntryId(Base64.getDecoder().decode(strEntryId2));

    MapiDistributionListMemberCollection members = new MapiDistributionListMemberCollection();
    members.add(member1);
    members.add(member2);

    MapiDistributionList distributionList = new MapiDistributionList("Contact list", members);
    distributionList.setBody("Distribution List Body");
    distributionList.setSubject("Sample Distribution List using Aspose.Email");

    // Add distribution list to PST
    contactFolder.addMapiMessageItem(distributionList);
}

// Create one-off distribution list members (for which no separate contacts were created)
try (PersonalStorage personalStorage = PersonalStorage.create(dataDir + "CreateDistributionListInPST_OneOffmembers_out.pst", FileFormatVersion.Unicode)) {
    // Add the contact folder to pst
    FolderInfo contactFolder = personalStorage.createPredefinedFolder("Contacts", StandardIpmFolder.Contacts);

    MapiDistributionListMemberCollection oneOffmembers = new MapiDistributionListMemberCollection();
    oneOffmembers.add(new MapiDistributionListMember("John R. Patrick", "JohnRPatrick@armyspy.com"));
    oneOffmembers.add(new MapiDistributionListMember("Tilly Bates", "TillyBates@armyspy.com"));

    MapiDistributionList oneOffMembersList = new MapiDistributionList("Simple list", oneOffmembers);
    contactFolder.addMapiMessageItem(oneOffMembersList);
}

Mapi‑Verteilerliste in einer einzigen Mehrfach‑Kontakt‑VCF‑Datei speichern

Die void save(String fileName, MapiDistributionListSaveOptions options) Methode ermöglicht es, die Mapi‑Verteilerliste mit den angegebenen Speicheroptionen unter einem festgelegten Dateinamen zu speichern. Sie können den Dateinamen und eine Instanz von MapiDistributionListSaveOptions Klasse als Parameter. Die MapiDistributionListSaveOptions Klasse enthält Optionen zum Speichern der Mapi‑Verteilerliste. In diesem Fall können Sie das Speicherformat als VCard (ContactSaveFormat.VCard) angeben, um die Verteilerliste als Mehrfach‑Kontakt‑VCF‑Datei zu speichern.

Das folgende Code‑Snippet demonstriert, wie man eine Verteilerliste in einer Mehrfach‑Kontakt‑VCF‑Datei speichert:

MapiDistributionList dlist = (MapiDistributionList)msg.toMapiMessageItem();
MapiDistributionListSaveOptions options = new MapiDistributionListSaveOptions(ContactSaveFormat.VCard);
dlist.save("distribution_list.vcf", options);

Lesen einer Verteilerliste aus einer PST

Das folgende Code‑Snippet zeigt, wie man eine Verteilerliste aus einer PST‑Datei liest.

// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-Java
// The path to the File directory.
String fileName = "outlook/message.msg";

MapiMessage message = MapiMessage.fromFile(fileName);
MapiDistributionList dlist = (MapiDistributionList)message.toMapiMessageItem();