التعامل مع جهات اتصال Outlook

إنشاء، حفظ وقراءة جهات الاتصال

مثل MapiMessage، تتيح Aspose.Email إنشاء جهات اتصال Outlook. توفر فئة MapiContact جميع الخصائص المتعلقة بجهة الاتصال اللازمة لإنشاء جهة اتصال Outlook. يوضح هذا المقال كيفية إنشاء وحفظ وقراءة جهة اتصال Outlook باستخدام فئة MapiContact.

إنشاء وحفظ جهة اتصال Outlook

لإنشاء جهة اتصال وحفظها على القرص:

  1. إنشاء كائن جديد من فئة MapiContact.
  2. أدخل معلومات خصائص جهة الاتصال.
  3. أضف بيانات الصورة (إن وجدت).
  4. احفظ جهة الاتصال بصيغة MSG أو VCard.

يظهر مقطع الشيفرة التالي كيفية إنشاء وحفظ جهة اتصال 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)

حفظ جهة اتصال بصيغة VCF الإصدار 3

لحفظ جهة اتصال بصيغة VCF الإصدار 3، استخدم خاصية version لكائن VCardSaveOptions فئة. أنشئ مثيلًا جديدًا من فئة VCardSaveOptions، واضبط خاصية version لكائن VCardSaveOptions إلى VCardVersion.V30. هذا يحدد إصدار vCard إلى 3.0. ثم استدعِ طريقة save لكائن MapiContact، مع تمرير اسم الملف "contact.vcf" وكائن VCardSaveOptions كمعاملات. يقوم ذلك بحفظ جهة الاتصال كملف vCard بالاسم والخيارات المحددة. يوضح مقطع الشيفرة التالي كيفية حفظ جهة اتصال بصيغة VCF الإصدار 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)

قراءة MapiContact

يمكن استخدام فئة MapiContact لتحميل جهات اتصال بصيغة Outlook MSG وصيغة VCard. يوضح مقطع الشيفرة التالي كيفية تحميل جهات اتصال Outlook المحفوظة كـ MSG و VCF إلى كائن MapiContact.

تحميل جهة اتصال من MSG

يظهر مقطع الشيفرة التالي كيفية تحميل جهة اتصال من MSG.

تحميل جهة اتصال من VCard

يظهر مقطع الشيفرة التالي كيفية تحميل جهة اتصال من vCard.

تحميل جهة اتصال من VCard مع تشفير محدد

يظهر مقطع الشيفرة التالي كيفية تحميل جهة اتصال من VCard باستخدام تشفير محدد.

حفظ عناصر جهات اتصال VCard مع تشفير محدد

عند حفظ ملف vCard، يمكن تحديد تشفير الأحرف المستخدم لضمان التوافق مع الأحرف غير ASCII. اضبط خاصية preferred_text_encoding لكائن VCardSaveOptions إلى "utf-8". يوضح مقطع الشيفرة التالي كيفية تنفيذ هذه الدالة في مشروعك:

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)

حفظ ملفات VCard مع حقول موسعة

عند حفظ ملف vCard، يمكنك أيضًا تحديد خيارات تشمل استخدام الحقول الموسعة وهي خصائص أو سمات إضافية يمكن إضافتها إلى vCard بخلاف مجموعة الحقول القياسية المحددة في مواصفات vCard. خاصية use_extensions في VCardSaveOptions فئة تسمح لك بالقيام بذلك. يوضح مقطع الشيفرة التالي كيفية حفظ ملف 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)

قراءة جهات اتصال متعددة بصيغة VCard

ستحتاج إلى الطرق التالية للحصول على قائمة جميع جهات الاتصال من 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)

سيوضح مقطع الشيفرة أدناه عملية قراءة جهات اتصال متعددة من ملف 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")

تحويل معلومات الجهة إلى MHTML

يمكن تحويل جهة اتصال Outlook إلى MHTML باستخدام Aspose.Email API. يوضح هذا المثال كيفية تحميل VCard إلى MapiContact ثم تحويله إلى MHTML بمساعدة MailMessage API.