Werken met Outlook‑contacten
Contacten maken, opslaan en lezen
Net als MapiMessage maakt Aspose.Email het mogelijk Outlook‑contacten te maken. De MapiContact‑klasse biedt alle contactgerelateerde eigenschappen die nodig zijn om een Outlook‑contact te creëren. Deze artikel laat zien hoe u een Outlook‑contact maakt, opslaat en leest met behulp van de MapiContact‑klasse.
Een Outlook‑contact maken en opslaan
Om een contact te maken en op schijf op te slaan:
- Instantieer een nieuw object van de MapiContact‑klasse.
- Voer contacteigenschapsinformatie in.
- Voeg fotogegevens toe (indien aanwezig).
- Sla het contact op in MSG- of VCard-formaat.
Het volgende codefragment laat zien hoe u een Outlook‑contact maakt en opslaat.
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)
Contact opslaan in VCF‑formaat versie 3
Om een contact op te slaan in VCF-formaat versie 3, gebruik je de version-eigenschap van de VCardSaveOptions klasse. Maak een nieuw exemplaar van de VCardSaveOptions‑klasse, stel de versie‑eigenschap van het VCardSaveOptions‑object in op VCardVersion.V30. Dit zet de vCard‑versie op 3.0. Roep vervolgens de save-methode van het MapiContact‑object aan, waarbij u de bestandsnaam "contact.vcf" en het VCardSaveOptions‑object als parameters opgeeft. Dit slaat het contact op als een vCard‑bestand met de opgegeven bestandsnaam en opties. Het volgende codefragment laat zien hoe u een contact opslaat in VCF‑formaat versie 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)
Een MapiContact lezen
De MapiContact‑klasse kan worden gebruikt om zowel Outlook‑MSG‑ als VCard‑formaatcontacten te laden. Het volgende codefragment laat zien hoe Outlook‑contacten die zijn opgeslagen als MSG en VCF in een MapiContact worden geladen.
Een contact laden vanuit MSG
Het volgende codefragment laat zien hoe u een contact laadt vanuit MSG.
Een contact laden vanuit VCard
Het volgende codefragment laat zien hoe u een contact laadt vanuit vCard.
Een contact laden vanuit VCard met gespecificeerde codering
Het volgende codefragment laat zien hoe u een contact laadt vanuit vCard met een gespecificeerde codering.
VCard‑contactitems opslaan met gespecificeerde codering
Bij het opslaan van een vCard‑bestand is het mogelijk om de te gebruiken tekencodering op te geven, zodat compatibiliteit met niet‑ASCII‑tekens verzekerd is. Stel de preferred_text_encoding-eigenschap van het VCardSaveOptions‑object in op "utf-8". Het volgende codefragment laat zien hoe u deze functie in uw project implementeert:
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)
VCard‑bestanden opslaan met uitgebreide velden
Bij het opslaan van een vCard‑bestand kunt u ook opties opgeven, waaronder het gebruik van uitgebreide velden, dat wil zeggen extra eigenschappen of attributen die aan een vCard kunnen worden toegevoegd bovenop de standaardvelden die door de vCard‑specificatie zijn gedefinieerd. De use_extensions-eigenschap van de VCardSaveOptions klasse maakt dit mogelijk. Het volgende codefragment laat zien hoe een VCard‑bestand met uitgebreide velden opgeslagen kan worden:
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)
Meerdere contacten lezen in VCard‑formaat
U heeft de volgende methoden nodig om de lijst met alle contacten uit een VCard op te halen:
# Checks whether VCard source stream contains multiple contacts.
aspose.email.personalinfo.vcard.VCardContact.is_multi_contacts(stream)
# Loads list of all contacts from VCard file.
aspose.email.personalinfo.vcard.VCardContact.load_as_multiple(file_path, encoding)
# Loads list of all contacts from VCard stream.
aspose.email.personalinfo.vcard.VCardContact.load_as_multiple(stream, encoding)
Het onderstaande codefragment demonstreert het proces van het lezen van meerdere contacten uit een VCard‑bestand:
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")
Contactinformatie renderen naar MHTML
Outlook‑contacten kunnen worden geconverteerd naar MHTML met behulp van de Aspose.Email API. Dit voorbeeld toont hoe een VCard wordt geladen in MapiContact en vervolgens geconverteerd naar MHTML met behulp van de MailMessage‑API.