עבודה עם רשימות הפצה

אפשר ליצור רשימת הפצה באמצעות Aspose.Email API שהיא אוסף של מספר אנשי קשר. ניתן לשמור רשימת הפצה לכונן בפורמט Outlook MSG ולצפות/לטפל בה על ידי פתיחתה ב‑MS Outlook.

יצירה ושמירה של רשימות הפצה

הקטע הקוד הבא מראה כיצד ליצור ולשמור רשימת הפצה.

// 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 לקובץ VCF מרובה אנשי קשר בודד

ה void save(String fileName, MapiDistributionListSaveOptions options) השיטה מאפשרת לשמור את רשימת ההפצה של Mapi בקובץ בשם שצוין תוך שימוש אפשרויות השמירה שסופקו. ניתן לספק את שם הקובץ ו‑instance של MapiDistributionListSaveOptions מחלקה כפרמטרים. ה MapiDistributionListSaveOptions המחלקה מכילה אפשרויות לשמירת רשימת ההפצה של Mapi. במקרה זה, ניתן לציין את פורמט השמירה כ-VCard (ContactSaveFormat.VCard) כדי לשמור את רשימת ההפצה כקובץ VCF עם מספר אנשי קשר.

הקטע הקוד הבא מדגים כיצד לשמור רשימת הפצה לקובץ VCF עם מספר אנשי קשר:

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

קריאת רשימת הפצה מקובץ PST

הקטע הקוד הבא מראה כיצד לקרוא רשימת הפצה מקובץ PST.

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