التعامل مع جهات اتصال Outlook
إنشاء، حفظ وقراءة جهات الاتصال
مثل MapiMessage، تتيح Aspose.Email إنشاء جهات اتصال Outlook. توفر فئة MapiContact جميع الخصائص المتعلقة بجهة الاتصال اللازمة لإنشاء جهة اتصال Outlook. يوضح هذا المقال كيفية إنشاء وحفظ وقراءة جهة اتصال Outlook باستخدام فئة MapiContact.
إنشاء وحفظ جهة اتصال Outlook
لإنشاء جهة اتصال وحفظها على القرص:
- إنشاء كائن جديد من فئة MapiContact.
- أدخل معلومات خصائص جهة الاتصال.
- أضف بيانات الصورة (إن وجدت).
- احفظ جهة الاتصال بصيغة 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.