Bekerja dengan Kontak Outlook
Membuat, Menyimpan, dan Membaca Kontak
Seperti MapiMessage, Aspose.Email memungkinkan Anda membuat kontak Outlook. Kelas MapiContact menyediakan semua properti terkait kontak yang diperlukan untuk membuat kontak Outlook. Artikel ini menunjukkan cara membuat, menyimpan, dan membaca kontak Outlook menggunakan kelas MapiContact.
Buat dan Simpan Kontak Outlook
Untuk membuat kontak dan menyimpannya ke disk:
- Buat instance baru dari kelas MapiContact.
- Masukkan informasi properti kontak.
- Tambahkan data foto (jika ada).
- 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. Buat instance baru dari kelas VCardSaveOptions, set properti version dari objek VCardSaveOptions ke VCardVersion.V30. Ini mengatur versi vCard menjadi 3.0., panggil metode save dari objek MapiContact, dengan memberikan 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)
Membaca MapiContact
Kelas MapiContact dapat digunakan untuk memuat kontak dalam format Outlook MSG dan VCard. Potongan kode berikut menunjukkan cara memuat kontak Outlook yang disimpan sebagai MSG dan VCF ke dalam MapiContact.
Memuat Kontak dari MSG
Potongan kode berikut menunjukkan cara memuat kontak dari MSG.
Memuat Kontak dari VCard
Potongan kode berikut menunjukkan cara memuat kontak dari vCard.
Memuat Kontak dari VCard dengan Encoding yang Ditentukan
Potongan kode berikut menunjukkan cara memuat kontak dari vcard dengan encoding yang ditentukan.
Menyimpan Item Kontak VCard dengan Encoding yang Ditentukan
Ketika menyimpan file vCard, memungkinkan untuk menentukan pengkodean karakter yang akan digunakan untuk memastikan kompatibilitas dengan karakter non-ASCII. Set properti preferred_text_encoding dari objek VCardSaveOptions ke "utf-8". Potongan kode berikut menunjukkan cara mengimplementasikan fungsi ini ke dalam proyek Anda:
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)
Menyimpan File VCard dengan Bidang Tambahan
Ketika menyimpan file vCard, Anda juga dapat menentukan opsi termasuk penggunaan bidang tambahan yang merupakan properti atau atribut tambahan yang dapat ditambahkan ke vCard di luar set standar bidang yang ditentukan oleh spesifikasi vCard. Properti use_extensions dari VCardSaveOptions kelas memungkinkan Anda melakukannya. Potongan kode berikut menunjukkan cara menyimpan file VCard dengan bidang tambahan:
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)
Membaca Beberapa Kontak dalam format VCard
Anda akan membutuhkan metode berikut untuk mendapatkan daftar semua kontak dari 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)
Potongan kode di bawah ini akan memperlihatkan proses membaca beberapa 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")
Merender Informasi Kontak ke MHTML
Kontak Outlook dapat dikonversi ke MHTML menggunakan Aspose.Email API. Contoh ini menunjukkan bagaimana VCard dimuat ke dalam MapiContact dan kemudian dikonversi ke MHTML dengan bantuan MailMessage API.