Outlook Kişileriyle Çalışma
Kişileri Oluşturma, Kaydetme ve Okuma
MapiMessage gibi, Aspose.Email Outlook kişileri oluşturmanıza olanak tanır. MapiContact sınıfı, bir Outlook kişisi oluşturmak için gerekli tüm iletişimle ilgili özellikleri sağlar. Bu makale, MapiContact sınıfını kullanarak Outlook kişisi nasıl oluşturulur, kaydedilir ve okunur gösterir.
Outlook Kişisi Oluştur ve Kaydet
Bir kişi oluşturup diske kaydetmek için:
- MapiContact sınıfının yeni bir nesnesini örnekleyin.
- Kişi özellik bilgilerini girin.
- Fotoğraf verisi ekle (varsa).
- Kişiyi MSG ya da VCard formatında kaydedin.
Aşağıdaki kod snippet’i, bir Outlook kişisi oluşturmayı ve 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)
VCF Formatı Sürüm 3’te Kişi Kaydet
VCF formatı Versiyon 3’te bir kişiyi kaydetmek için, version özelliğini kullanın VCardSaveOptions Sınıf. VCardSaveOptions sınıfının yeni bir örneğini oluşturun, VCardSaveOptions nesnesinin version özelliğini VCardVersion.V30 olarak ayarlayın. Bu, vCard sürümünü 3.0 olarak belirler. Ardından, MapiContact nesnesinin save metodunu çağırarak dosya adı olarak "contact.vcf" ve VCardSaveOptions nesnesini parametre olarak geçin. Bu, kişiyi belirtilen dosya adı ve seçeneklerle bir vCard dosyası olarak kaydeder. Aşağıdaki kod snippet’i, VCF Formatı Sürüm 3’te bir kişiyi 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)
MapiContact Okuma
MapiContact sınıfı, Outlook MSG ve VCard formatındaki kişileri yüklemek için kullanılabilir. Aşağıdaki kod snippet’i, MSG ve VCF olarak kaydedilmiş Outlook kişilerini bir MapiContact nesnesine nasıl yükleyeceğinizi gösterir.
MSG’den Kişi Yükleme
Aşağıdaki kod snippet’i, bir iletişim kişisini MSG’den nasıl yükleyeceğinizi gösterir.
VCard’tan Kişi Yükleme
Aşağıdaki kod snippet’i, bir kişiyi vCard’tan nasıl yükleyeceğinizi gösterir.
Belirtilen Kodlamayla VCard’tan Kişi Yükleme
Aşağıdaki kod snippet’i, belirtilen kodlamayla bir kişiyi vCard’tan nasıl yükleyeceğinizi gösterir.
Belirtilen Kodlamayla VCard Kişi Öğelerini Kaydetme
Bir vCard dosyası kaydederken, ASCII dışı karakterlerle uyumluluğu sağlamak için kullanılacak karakter kodlamasını belirlemek mümkündür. VCardSaveOptions nesnesinin preferred_text_encoding özelliğini "utf-8" olarak ayarlayın. Aşağıdaki kod snippet’i, bu işlevi projenize nasıl uygulayacağınızı 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.preferred_text_encoding = "utf-8"
contact.save("contact.vcf", options)
Genişletilmiş Alanlarla VCard Dosyaları Kaydetme
Bir vCard dosyası kaydederken, vCard spesifikasyonu tarafından tanımlanan standart alanların ötesinde eklenebilen ek özellikler ya da nitelikler olan genişletilmiş alanların kullanımını da içeren seçenekleri belirtebilirsiniz. use_extensions özelliği… VCardSaveOptions sınıf bunu yapmanıza olanak tanır. Aşağıdaki kod snippet’i, genişletilmiş alanlarla bir VCard dosyasını 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.use_extensions = True
contact.save("contact.vcf", options)
VCard formatında birden çok Kişi Okuma
Bir VCard’tan tüm kişilerin listesini almanız için aşağıdaki yöntemlere ihtiyacınız olacak:
# 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)
Aşağıdaki kod snippet’i, bir VCard dosyasından birden fazla kişi okuma sürecini gösterecek:
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 Oluşturma
Outlook Kişisi, Aspose.Email API kullanılarak MHTML’ye dönüştürülebilir. Bu örnek, bir VCard’ın MapiContact içine nasıl yüklendiğini ve ardından MailMessage API yardımıyla MHTML’ye nasıl dönüştürüldüğünü gösterir.