PST Dosyalarında Outlook Kişilerini Yönetme

Kişileri Oluşturma, Kaydetme ve Okuma

Aspose.Email, Outlook kişileri oluşturmanıza ve işlemenize olanak tanır. MapiContact sınıf, bir Outlook kişisi oluşturmak ve manipüle etmek için gereken tüm kişiyle ilgili özellikleri sağlar. Bu makale, bir Outlook kişisi oluşturma, kaydetme ve okuma yöntemlerini gösterir MapiContact sınıf.

Outlook Kişilerini Oluştur ve Kaydet

Bir kişi oluşturup diske kaydetmek için şu adımları izleyin:

  1. Yeni bir nesne örneği oluşturun MapiContact sınıf.
  2. Kişi özellik bilgilerini girin.
  3. Fotoğraf verisi ekle (varsa).
  4. Kişiyi MSG ya da VCard formatında kaydedin.

Aşağıdaki kod parçacığı, bir Outlook kişisi oluşturup kaydetmeyi gösterir:

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)

Kişileri VCF Formatı Versiyon 3’te Kaydet

VCF formatı Versiyon 3’te bir kişiyi kaydetmek için, version özelliğini kullanın VCardSaveOptions sınıf.

  1. Yeni bir … örneği oluşturun VCardSaveOptions sınıf.
  2. VCardSaveOptions nesnesinin version özelliğini VCardVersion.V30 olarak ayarlayın. Bu, vCard sürümünü 3.0 olarak belirler.
  3. Şuğu çağırın kaydet MapiContact nesnesinin yöntemi, dosya adı "contact.vcf" ve VCardSaveOptions nesnesini parametre olarak geçirir. Bu, kişiyi belirtilen dosya adı ve seçeneklerle bir vCard dosyası olarak kaydeder.

Aşağıdaki kod parçacığı, bir kişiyi VCF formatı Versiyon 3’te nasıl kaydedeceğinizi gösterir:

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)

Kişileri MSG veya VCard Dosyalarından Yükle

Bu MapiContact sınıf, Outlook MSG ve VCard formatındaki kişileri yüklemek için kullanılabilir.

MSG’den bir kişi yüklemek için aşağıdaki kod örneğini kullanın:

VCard’tan bir kişi yüklemek için aşağıdaki kod örneğini kullanın:

Belirtilen Kodlamayla Kişileri Yükle

Aşağıdaki kod parçacığı, belirli bir kodlamayla vcard’tan bir kişi nasıl yüklenir gösterir.

Özel Karakter Kodlamasıyla VCard Dosyalarını Kaydet

Bir vCard dosyası kaydederken, ASCII dışı karakterlerle uyumluluğu sağlamak için karakter kodlamasını tanımlayabilirsiniz. Örneğin, preferred_text_encoding özelliğini ayarlayarak VCardSaveOptions nesnesini "utf-8" olarak ayarlamak, ASCII dışı metnin doğru kodlanmasını sağlar. Bu özellik, çok dilli kişi verilerini işlemek için özellikle faydalıdır. Aşağıda, özel karakter kodlamasıyla bir vCard dosyasını nasıl yapılandırıp kaydedeceğinize dair bir örnek bulunuyor:

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)

Genişletilmiş Özelliklerle VCard Dosyalarını Kaydet

Standart vCard alanlarının yanı sıra, vCard dosyalarınıza genişletilmiş özellikler ekleyerek geliştirebilirsiniz. Bunlar, standart vCard spesifikasyonu tarafından kapsanmayan ek özniteliklerdir ve daha fazla özelleştirme sağlar. Bunu etkinleştirmek için, use_extensions özelliğini ayarlayın VCardSaveOptions sınıfını True olarak ayarlayın. Bu, özel veya uygulama‑spesifik meta veri eklemek için özellikle faydalıdır. İşte genişletilmiş özelliklerin etkin olduğu bir vCard dosyasını nasıl kaydedeceğiniz:

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)

VCard Formatında Birden Çok Kişi Oku

Bir VCard’dan tüm kişileri almak için aşağıdakileri kullanabilirsiniz yöntemler:

  • is_multi_contacts yöntemi, bir akışın birden çok kişi içerip içermediğini belirler.
  • load_as_multiple(file_path) yöntemi, bir VCard dosyasından tüm kişilerin listesini yükler.
  • load_as_multiple(stream) yöntemi, bir VCard akışından tüm kişilerin listesini yükler.

Aşağıdaki kod parçacığı, bir VCard dosyasından birden çok kişi okuma sürecini gösterir:

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")

Kişi Bilgilerini MHTML’ye Renderla

Outlook Contact, Aspose.Email API’sı kullanılarak MHTML’ye dönüştürülebilir. Aşağıdaki kod örneği, bir MSG dosyasından gelen ayrıntılı kişi bilgilerini içeren bir MHTML dosyası oluşturmayı gösterir:

  1. MSG dosyasını bir MapiMessage nesne.
  2. Mesajı EML formatına dönüştür.
  3. MHT kaydetme seçeneklerini hazırlayın:
    • Gövde içeriği kodlamasını etkinleştirin ve orijinal sınırları koruyun.
    • MHT format seçeneklerini başlıkları yazmak ve vCard bilgilerini renderlemek için ayarlayın.
  4. MHT içinde renderlenecek alanları tanımlayın.
  5. EML’yi bir MHTML dosyası olarak kaydedin.