PST ファイル内の Outlook 連絡先の管理

連絡先の作成、保存、読み取り

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 で連絡先を保存するには、 VCardSaveOptions クラス。

  1. 新しいインスタンスを作成します VCardSaveOptions クラス。
  2. VCardSaveOptions オブジェクトの version プロパティを 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 文字との互換性を確保するために文字エンコーディングを定義できます。例えば、 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 仕様でカバーされていない追加属性で、カスタマイズ性を高めます。有効にするには、 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 にレンダリング

Aspose.Email API を使用して Outlook 連絡先を MHTML に変換できます。以下のコードサンプルは、元の MSG ファイルからの詳細な連絡先情報を含む MHTML ファイルを生成する方法を示しています。

  1. MSG ファイルを MapiMessage オブジェクト。
  2. メッセージを EML 形式に変換します。
  3. MHT 保存オプションを準備します:
    • 本文コンテンツのエンコーディングを有効にし、元の境界線を保持します。
    • MHT フォーマットオプションを設定して、ヘッダーを書き込み、vCard 情報をレンダリングします。
  4. MHT にレンダリングするフィールドを定義します。
  5. EML を MHTML ファイルとして保存します。