Mengelola Kontak Outlook dalam File PST

Membuat, Menyimpan, dan Membaca Kontak

Aspose.Email memungkinkan Anda membuat dan memproses kontak Outlook. The MapiContact kelas menyediakan semua properti terkait kontak yang diperlukan untuk membuat dan memanipulasi kontak Outlook. Artikel ini menunjukkan cara membuat, menyimpan, dan membaca kontak Outlook menggunakan MapiContact kelas.

Buat dan Simpan Kontak Outlook

Untuk membuat kontak dan menyimpannya ke disk, ikuti langkah-langkah berikut:

  1. Instansiasi objek baru dari MapiContact kelas.
  2. Masukkan informasi properti kontak.
  3. Tambahkan data foto (jika ada).
  4. Simpan kontak dalam format MSG atau VCard.

Potongan kode berikut menunjukkan cara membuat dan menyimpan kontak 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)

Simpan Kontak dalam Format VCF Versi 3

Untuk menyimpan kontak dalam format VCF Versi 3, gunakan properti version dari VCardSaveOptions kelas.

  1. Buat instance baru dari VCardSaveOptions kelas.
  2. Setel properti versi dari objek VCardSaveOptions ke VCardVersion.V30. Ini mengatur versi vCard menjadi 3.0.
  3. Panggil save metode dari objek MapiContact, dengan mengirimkan nama file "contact.vcf" dan objek VCardSaveOptions sebagai parameter. Ini menyimpan kontak sebagai file vCard dengan nama file dan opsi yang ditentukan.

Potongan kode berikut menunjukkan cara menyimpan kontak dalam format VCF Versi 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)

Muat Kontak dari File MSG atau VCard

The MapiContact kelas dapat digunakan untuk memuat kontak dalam format Outlook MSG dan VCard.

Untuk memuat kontak dari MSG, gunakan contoh kode di bawah:

Untuk memuat kontak dari VCard, gunakan contoh kode berikut:

Muat Kontak dengan Enkoding Tertentu

Potongan kode berikut menunjukkan cara memuat kontak dari vcard dengan enkoding yang ditentukan.

Simpan File VCard dengan Enkoding Karakter Kustom

Saat menyimpan file vCard, Anda dapat mendefinisikan enkoding karakter untuk memastikan kompatibilitas dengan karakter non-ASCII. Misalnya, mengatur properti preferred_text_encoding dari VCardSaveOptions objek ke "utf-8" memastikan enkoding yang tepat untuk teks non-ASCII. Fitur ini sangat berguna untuk menangani data kontak multibahasa. Di bawah ini contoh cara mengonfigurasi dan menyimpan file vCard dengan enkoding karakter khusus:

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)

Simpan File VCard dengan Properti Ekstensi

Selain bidang vCard standar, Anda dapat meningkatkan file vCard Anda dengan menyertakan properti tambahan. Ini adalah atribut tambahan yang tidak tercakup dalam spesifikasi vCard standar, memungkinkan kustomisasi lebih besar. Untuk mengaktifkannya, setel properti use_extensions dari VCardSaveOptions kelas menjadi True. Ini sangat berguna untuk menambahkan metadata khusus atau spesifik aplikasi. Berikut cara menyimpan file vCard dengan properti tambahan diaktifkan:

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)

Baca Banyak Kontak dalam Format VCard

Untuk mengambil semua kontak dari VCard, Anda dapat menggunakan berikut metode:

  • Metode is_multi_contacts menentukan apakah sebuah alur memiliki banyak kontak.
  • Metode load_as_multiple(file_path) memuat daftar semua kontak dari file VCard.
  • Metode load_as_multiple(stream) memuat daftar semua kontak dari alur VCard.

Potongan kode di bawah ini menunjukkan proses membaca banyak kontak dari file 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")

Render Informasi Kontak ke MHTML

Kontak Outlook dapat dikonversi ke MHTML menggunakan Aspose.Email API. Contoh kode berikut menunjukkan cara menghasilkan file MHTML yang berisi informasi kontak terperinci yang awalnya dari file MSG:

  1. Muat file MSG sebagai sebuah MapiMessage objek.
  2. Konversi pesan ke format EML.
  3. Siapkan opsi penyimpanan MHT:
    • Aktifkan enkoding konten tubuh dan pertahankan batas asli.
    • Setel opsi format MHT untuk menulis header dan merender informasi vCard.
  4. Tentukan bidang yang akan dirender dalam MHT.
  5. Simpan EML sebagai file MHTML.