مدیریت مخاطبان Outlook در فایل‌های PST

ایجاد، ذخیره و خواندن مخاطبان

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 کلاس.

  1. یک نمونهٔ جدید از VCardSaveOptions کلاس.
  2. خصوصیت version شیء VCardSaveOptions را به VCardVersion.V30 تنظیم کنید. این کار نسخهٔ vCard را به 3.0 تعیین می‌کند.
  3. متد را فراخوانی کنید ذخیره متد شیء 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)

بارگذاری مخاطبان از فایل‌های MSG یا VCard

این MapiContact کلاس می‌تواند برای بارگذاری مخاطبین در فرمت‌های Outlook MSG و VCard استفاده شود.

برای بارگذاری یک مخاطب از MSG، از نمونه کد زیر استفاده کنید:

برای بارگذاری یک مخاطب از VCard، از نمونه کد زیر استفاده کنید:

بارگذاری مخاطبان با رمزگذاری مشخص

قطعه کد زیر نشان می‌دهد چگونه یک مخاطب را از vcard با رمزگذاری مشخص بارگذاری کنید.

ذخیرهٔ فایل‌های VCard با رمزگذاری کاراکترهای سفارشی

هنگام ذخیرهٔ فایل vCard، می‌توانید رمزگذاری کاراکترها را تعریف کنید تا با نویسه‌های غیر ASCII سازگار باشد. به عنوان مثال، تنظیم خصوصیت preferred_text_encoding در VCardSaveOptions شی به "utf-8" تنظیم می‌شود تا رمزگذاری صحیح متن‌های غیر ASCII تضمین شود. این ویژگی به‌ویژه برای مدیریت داده‌های مخاطب چندزبانه مفید است. در ادامه یک مثال از چگونگی پیکربندی و ذخیرهٔ فایل 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.preferred_text_encoding = "utf-8"
contact.save("contact.vcf", options)

ذخیرهٔ فایل‌های VCard با خصوصیات توسعه‌یافته

علاوه بر فیلدهای استاندارد vCard، می‌توانید فایل‌های vCard خود را با افزودن خصوصیات توسعه‌یافته تقویت کنید. اینها ویژگی‌های اضافی هستند که در مشخصات استاندارد vCard پوشش داده نشده‌اند و امکان سفارشی‌سازی بیشتر را فراهم می‌کنند. برای فعال‌سازی این گزینه، خصوصیت use_extensions را در VCardSaveOptions کلاس به True تنظیم می‌شود. این به‌ویژه برای افزودن متادیتای سفارشی یا مخصوص برنامه مفید است. در اینجا نحوه ذخیرهٔ یک فایل 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، می‌توانید از متدها:

  • is_multi_contacts تعیین می‌کند آیا یک جریان چندین مخاطب دارد یا خیر.
  • load_as_multiple(file_path) لیستی از تمام مخاطبان را از یک فایل VCard بارگذاری می‌کند.
  • load_as_multiple(stream) لیستی از تمام مخاطبان را از یک جریان VCard بارگذاری می‌کند.

قطعه کد زیر روند خواندن چندین مخاطب از یک فایل 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 می‌تواند با استفاده از Aspose.Email API به MHTML تبدیل شود. نمونه کد زیر نشان می‌دهد چگونه یک فایل MHTML که حاوی اطلاعات دقیق مخاطب استخراج‌شده از یک فایل MSG است، تولید کنید:

  1. فایل MSG را به‌عنوان یک MapiMessage شیء.
  2. پیام را به فرمت EML تبدیل کنید.
  3. گزینه‌های ذخیره‌سازی MHT را آماده کنید:
    • رمزگذاری محتوی بدنه را فعال کنید و مرزهای اصلی را حفظ کنید.
    • گزینه‌های فرمت MHT را برای نوشتن هدرها و رندر اطلاعات vCard تنظیم کنید.
  4. فیلدهایی را که باید در MHT رندر شوند تعریف کنید.
  5. EML را به‌عنوان فایل MHTML ذخیره کنید.