کار با مخاطبان آوتلوک

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

مشابه MapiMessage، Aspose.Email به شما امکان ایجاد مخاطبین Outlook را می‌دهد. کلاس MapiContact تمام ویژگی‌های مرتبط با مخاطب را برای ایجاد یک مخاطب Outlook فراهم می‌کند. این مقاله نشان می‌دهد چگونه با استفاده از کلاس MapiContact، یک مخاطب Outlook را ایجاد، ذخیره و بخوانید.

ایجاد و ذخیره مخاطب 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 اضافه شوند، مشخص کنید. ویژگی 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 می‌تواند با استفاده از API Aspose.Email به MHTML تبدیل شود. این مثال نشان می‌دهد چگونه یک VCard به MapiContact بارگذاری شده و سپس با کمک API MailMessage به MHTML تبدیل می‌شود.