Arbeta med Outlook‑kontakter
Skapa, spara och läsa kontakter
Precis som MapiMessage låter Aspose.Email dig skapa Outlook‑kontakter. MapiContact‑klassen tillhandahåller alla kontakt‑relaterade egenskaper som krävs för att skapa en Outlook‑kontakt. Den här artikeln visar hur man skapar, sparar och läser en Outlook‑kontakt med hjälp av MapiContact‑klassen.
Skapa och spara Outlook‑kontakt
För att skapa en kontakt och spara den på disk:
- Instansiera ett nytt objekt av MapiContact‑klassen.
- Ange kontaktens egenskapsinformation.
- Lägg till fotodata (om någon).
- Spara kontakten som MSG- eller VCard-format.
Följande kodsnutt visar hur man skapar och sparar en Outlook‑kontakt.
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)
Spara kontakt i VCF‑format version 3
För att spara en kontakt i VCF-format version 3, använd version-egenskapen i VCardSaveOptions klass. Skapa en ny instans av VCardSaveOptions‑klassen, sätt version‑egenskapen för VCardSaveOptions‑objektet till VCardVersion.V30. Detta sätter vCard‑versionen till 3.0., anropa save-metoden för MapiContact‑objektet och skicka filnamnet "contact.vcf" samt VCardSaveOptions‑objektet som parametrar. Detta sparar kontakten som en vCard‑fil med det angivna filnamnet och alternativen. Följande kodsnutt visar hur man sparar en kontakt i VCF‑format version 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)
Läser en MapiContact
MapiContact‑klassen kan användas för att läsa in både Outlook MSG- och VCard‑formatkontakter. Följande kodsnutt visar hur man laddar Outlook‑kontakter sparade som MSG och VCF till en MapiContact.
Laddar en kontakt från MSG
Följande kodsnutt visar hur man läser in en kontakt från MSG.
Laddar en kontakt från VCard
Följande kodsnutt visar hur man läser in en kontakt från vCard.
Laddar en kontakt från VCard med specificerad kodning
Följande kodsnutt visar hur man läser in en kontakt från vCard med specificerad kodning.
Spara VCard‑kontaktobjekt med specificerad kodning
När du sparar en vCard‑fil är det möjligt att ange teckenkodningen som ska användas för att säkerställa kompatibilitet med icke‑ASCII‑tecken. Sätt preferred_text_encoding-egenskapen på VCardSaveOptions‑objektet till "utf-8". Följande kodsnutt visar hur man implementerar denna funktion i ditt projekt:
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)
Spara VCard‑filer med utökade fält
När du sparar en vCard‑fil kan du också ange alternativ inklusive användning av utökade fält, vilket är ytterligare egenskaper eller attribut som kan läggas till i en vCard utöver det standarduppsättning av fält som definieras av vCard‑specifikationen. use_extensions-egenskapen i VCardSaveOptions Klassen möjliggör detta. Följande kodsnutt visar hur man sparar en VCard‑fil med utökade fält:
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)
Läsa flera kontakter i VCard‑format
Du behöver följande metoder för att hämta listan över alla kontakter från en VCard:
# 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)
Kodsnutten nedan demonstrerar processen för att läsa flera kontakter från en VCard‑fil:
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")
Rendera kontaktinformation till MHTML
Outlook‑kontakt kan konverteras till MHTML med hjälp av Aspose.Email API. Detta exempel visar hur en VCard laddas in i MapiContact och sedan konverteras till MHTML med hjälp av MailMessage API.