Arbeiten mit Outlook‑Kontakten
Kontakte erstellen, speichern und lesen
Wie MapiMessage ermöglicht Aspose.Email das Erstellen von Outlook‑Kontakten. Die MapiContact‑Klasse stellt alle kontaktbezogenen Eigenschaften bereit, die zum Erstellen eines Outlook‑Kontakts erforderlich sind. Dieser Artikel zeigt, wie man einen Outlook‑Kontakt mit der MapiContact‑Klasse erstellt, speichert und liest.
Outlook‑Kontakt erstellen und speichern
Um einen Kontakt zu erstellen und auf der Festplatte zu speichern:
- Instanziieren Sie ein neues Objekt der MapiContact‑Klasse.
- Kontakt‑Eigenschaftsinformationen eingeben.
- Fotodaten hinzufügen (falls vorhanden).
- Speichern Sie den Kontakt im MSG- oder VCard-Format.
Das folgende Code‑Snippet zeigt, wie Sie einen Outlook‑Kontakt erstellen und speichern.
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)
Kontakt im VCF-Format Version 3 speichern
Um einen Kontakt im VCF‑Format Version 3 zu speichern, verwenden Sie die Eigenschaft version des VCardSaveOptions Klasse. Erstellen Sie eine neue Instanz der VCardSaveOptions‑Klasse und setzen Sie die Eigenschaft version des VCardSaveOptions‑Objekts auf VCardVersion.V30. Dadurch wird die vCard‑Version auf 3.0 gesetzt. Rufen Sie die save-Methode des MapiContact‑Objekts auf und übergeben Sie den Dateinamen "contact.vcf" sowie das VCardSaveOptions‑Objekt als Parameter. Damit wird der Kontakt als vCard‑Datei mit dem angegebenen Dateinamen und den Optionen gespeichert. Das folgende Code‑Snippet zeigt, wie ein Kontakt im VCF‑Format Version 3 gespeichert wird:
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)
Lesen eines MapiContact
Die MapiContact‑Klasse kann verwendet werden, um Kontakte im Outlook‑MSG‑ und VCard‑Format zu laden. Das folgende Code‑Snippet zeigt, wie Outlook‑Kontakte, die als MSG und VCF gespeichert wurden, in ein MapiContact‑Objekt geladen werden.
Laden eines Kontakts aus MSG
Das folgende Code‑Snippet zeigt, wie ein Kontakt aus einer MSG‑Datei geladen wird.
Laden eines Kontakts aus VCard
Das folgende Code‑Snippet zeigt, wie ein Kontakt aus einer vCard geladen wird.
Laden eines Kontakts aus VCard mit angegebener Kodierung
Das folgende Code‑Snippet zeigt, wie ein Kontakt aus einer vCard mit angegebener Kodierung geladen wird.
Speichern von VCard‑Kontaktelementen mit angegebener Kodierung
Beim Speichern einer vCard‑Datei kann das zu verwendende Zeichenkodierung angegeben werden, um die Kompatibilität mit Nicht‑ASCII‑Zeichen sicherzustellen. Setzen Sie die preferred_text_encoding-Eigenschaft des VCardSaveOptions‑Objekts auf "utf-8". Das folgende Code‑Snippet zeigt, wie diese Funktion in Ihr Projekt implementiert wird:
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)
Speichern von VCard‑Dateien mit erweiterten Feldern
Beim Speichern einer vCard‑Datei können Sie zusätzlich Optionen angeben, einschließlich der Verwendung erweiterter Felder, das sind zusätzliche Eigenschaften oder Attribute, die einer vCard über den im vCard‑Standard definierten Feldsatz hinaus hinzugefügt werden können. Die use_extensions-Eigenschaft von VCardSaveOptions Klasse ermöglicht dies. Das folgende Code‑Snippet zeigt, wie eine VCard‑Datei mit erweiterten Feldern gespeichert wird:
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)
Mehrere Kontakte im VCard-Format lesen
Sie benötigen die folgenden Methoden, um die Liste aller Kontakte aus einer VCard zu erhalten:
# 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)
Das folgende Code‑Snippet demonstriert das Auslesen mehrerer Kontakte aus einer VCard‑Datei:
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")
Darstellung von Kontaktinformationen in MHTML
Outlook‑Kontakte können mit der Aspose.Email API in MHTML konvertiert werden. Dieses Beispiel zeigt, wie eine VCard in ein MapiContact geladen und anschließend mithilfe der MailMessage‑API in MHTML konvertiert wird.