Správa kontaktů Outlook v souborech PST
Vytváření, ukládání a čtení kontaktů
Aspose.Email umožňuje vytvářet a zpracovávat kontakty Outlook. MapiContact třída poskytuje všechny vlastnosti související s kontaktem potřebné k vytvoření a manipulaci s kontaktem Outlook. Tento článek ukazuje, jak vytvořit, uložit a přečíst kontakt Outlook pomocí MapiContact třída.
Vytvořit a uložit kontakty Outlook
Pro vytvoření kontaktu a jeho uložení na disk postupujte následovně:
- Vytvořte novou instanci objektu MapiContact třída.
- Zadejte informace o vlastnostech kontaktu.
- Přidejte data fotografie (pokud existují).
- Uložte kontakt ve formátu MSG nebo VCard.
Následující úryvek kódu ukazuje, jak vytvořit a uložit kontakt Outlook:
import aspose.email as ae
data_dir = "path/to/data/directory"
contact = ae.mapi.MapiContact()
contact.name_info = ae.mapi.MapiContactNamePropertySet("Bertha", "A.", "Buell")
contact.professional_info = ae.mapi.MapiContactProfessionalPropertySet("Awthentikz", "Social work assistant")
contact.personal_info.personal_home_page = "B2BTies.com"
contact.physical_addresses.work_address.address = "Im Astenfeld 59 8580 EDELSCHROTT"
contact.electronic_addresses.email1 = ae.mapi.MapiContactElectronicAddress("Experwas", "SMTP", "BerthaABuell@armyspy.com")
contact.telephones = ae.mapi.MapiContactTelephonePropertySet("06605045265")
contact.personal_info.children = ["child1", "child2", "child3"]
contact.categories = ["category1", "category2", "category3"]
contact.mileage = "Some test mileage"
contact.billing = "Test billing information"
contact.other_fields.journal = True
contact.other_fields.private = True
contact.other_fields.reminder_topic = "Test topic"
contact.other_fields.user_field1 = "ContactUserField1"
contact.other_fields.user_field2 = "ContactUserField2"
contact.other_fields.user_field3 = "ContactUserField3"
contact.other_fields.user_field4 = "ContactUserField4"
# Add a photo
with open(data_dir + "Desert.jpg", "rb") as file:
buffer = file.read()
contact.photo = ae.mapi.MapiContactPhoto(buffer, ae.mapi.MapiContactPhotoImageFormat.JPEG)
# Save the Contact in MSG format
contact.save(data_dir + "MapiContact_out.msg", ae.mapi.ContactSaveFormat.MSG)
# Save the Contact in VCF format
contact.save(data_dir + "MapiContact_out.vcf", ae.mapi.ContactSaveFormat.V_CARD)
Uložit kontakty ve formátu VCF verze 3
Pro uložení kontaktu ve formátu VCF verze 3 použijte vlastnost version objektu VCardSaveOptions třída.
- Vytvořte novou instanci VCardSaveOptions třída.
- Nastavte vlastnost version objektu VCardSaveOptions na VCardVersion.V30. Tím se nastaví verze vCard na 3.0.
- Zavolejte uložit metoda objektu MapiContact, která jako parametry přijímá název souboru "contact.vcf" a objekt VCardSaveOptions. Tím se kontakt uloží jako soubor vCard se zadaným názvem a nastavením.
Následující úryvek kódu ukazuje, jak uložit kontakt ve formátu VCF verze 3:
import aspose.email as ae
contact = ae.mapi.MapiContact()
contact.name_info = ae.mapi.MapiContactNamePropertySet("Bertha", "A.", "Buell")
options = ae.personalinfo.vcard.VCardSaveOptions()
options.version = ae.personalinfo.vcard.VCardVersion.V30
contact.save("contact.vcf", options)
Načíst kontakty ze souborů MSG nebo VCard
The MapiContact třída může být použita k načtení kontaktů jak ve formátu Outlook MSG, tak VCard.
Pro načtení kontaktu z MSG použijte níže uvedený kód:
Pro načtení kontaktu z VCard použijte následující ukázkový kód:
Načíst kontakty s určeným kódováním
Následující úryvek kódu ukazuje, jak načíst kontakt z vcard se specifikovaným kódováním.
Uložit soubory VCard s vlastním kódováním znaků
Při ukládání souboru VCard můžete definovat kódování znaků, aby byla zajištěna kompatibilita s ne‑ASCII znaky. Například nastavením vlastnosti preferred_text_encoding objektu VCardSaveOptions objekt na "utf-8" zajišťuje správné kódování textu mimo ASCII. Tato funkce je zvláště užitečná při zpracování vícejazyčných dat kontaktů. Níže je příklad, jak nakonfigurovat a uložit soubor vCard s vlastním kódováním znaků:
import aspose.email as ae
contact = ae.mapi.MapiContact()
contact.name_info = ae.mapi.MapiContactNamePropertySet("Bertha", "A.", "Buell")
options = ae.personalinfo.vcard.VCardSaveOptions()
options.preferred_text_encoding = "utf-8"
contact.save("contact.vcf", options)
Uložit soubory VCard s rozšířenými vlastnostmi
Kromě standardních polí vCard můžete své soubory vCard rozšířit zahrnutím rozšířených vlastností. Jedná se o dodatečné atributy, které nejsou pokryty standardní specifikací VCard, což umožňuje větší přizpůsobení. Chcete‑li to povolit, nastavte vlastnost use_extensions objektu VCardSaveOptions třídu nastavte na True. To je zvláště užitečné pro přidání vlastních nebo aplikačních metadat. Zde je návod, jak uložit soubor vCard s povolenými rozšířenými vlastnostmi:
import aspose.email as ae
contact = ae.mapi.MapiContact()
contact.name_info = ae.mapi.MapiContactNamePropertySet("Bertha", "A.", "Buell")
options = ae.personalinfo.vcard.VCardSaveOptions()
options.use_extensions = True
contact.save("contact.vcf", options)
Číst více kontaktů ve formátu VCard
Pro získání všech kontaktů z VCard můžete použít následující metody:
- metoda is_multi_contacts určuje, zda proud obsahuje více kontaktů.
- metoda load_as_multiple(file_path) načte seznam všech kontaktů ze souboru VCard.
- metoda load_as_multiple(stream) načte seznam všech kontaktů ze VCard proudu.
Níže uvedený úryvek kódu ukazuje proces čtení více kontaktů ze souboru VCard:
import aspose.email as ae
contact = ae.mapi.MapiContact()
contact.name_info = ae.mapi.MapiContactNamePropertySet("Bertha", "A.", "Buell")
options = ae.personalinfo.vcard.VCardSaveOptions()
options.use_extensions = True
contact.save("contact.vcf", options)
if ae.personalinfo.vcard.VCardContact.is_multi_contacts("contact.vcf"):
ae.personalinfo.vcard.VCardContact.load_as_multiple("contact.vcf")
Vykreslit informace o kontaktu do MHTML
Kontakt Outlook lze převést na MHTML pomocí Aspose.Email API. Následující ukázkový kód demonstruje, jak vygenerovat soubor MHTML, který obsahuje podrobné informace o kontaktu původně ze souboru MSG:
- Načtěte soubor MSG jako MapiMessage objektu.
- Převést zprávu do formátu EML.
- Připravte možnosti uložení MHT:
- Povolte kódování obsahu těla a zachovejte původní hranice.
- Nastavte možnosti formátu MHT pro zápis hlaviček a vykreslení informací vCard.
- Definujte pole, která se mají vykreslit v MHT.
- Uložte EML jako soubor MHTML.