MAPI プロパティの操作

Outlook MAPI プロパティの取得と設定

MapiProperty クラスは MAPI プロパティを表し、以下を含みます:

  • Name: プロパティ名を表す文字列。
  • Tag: プロパティのタグを表す long 値です。
  • Data: プロパティのデータを表すバイト配列。

MAPI プロパティタグを使用して MAPI プロパティを取得

MAPI プロパティを取得するには:

  1. ファイルまたはストリームからロードして MapiMessage のインスタンスを作成します。
  2. MapiPropertyTag キーを使用して MapiMessage.Properties から MapiProperty を取得します。
  3. GetX メソッドで MapiProperty のデータを取得します。

以下のコードスニペットは、MAPI プロパティタグを使用して MAPI プロパティを取得する方法を示しています。

MAPI プロパティの設定

次のコードスニペットは、MAPI プロパティを設定する方法を示しています。

convertDateTime メソッドの定義は以下の通りです:

Outlook MSG ファイルから名前付き MAPI プロパティを読み取る

Aspose.Email は、MSG ファイルを操作するための API セットを提供し、名前付き MAPI プロパティの抽出も含まれます。

MSG ファイルから名前付き MAPI プロパティを読み取る

名前付き MAPI プロパティを読み取るには、named_properties プロパティを使用できます。 MapiMessage クラス。以下のコードサンプルは、メッセージをロードし、すべての名前付き MAPI プロパティを取得し、各プロパティを反復してその値を確認する方法を示しています。

import aspose.email as ae

msg = ae.mapi.MapiMessage.load("my.msg")

# Get all named MAPI properties
properties = msg.named_properties.values
# Read all properties in foreach loop
for prop in properties:
    #  Read any specific property
    if prop.descriptor.canonical_name == "PidLidSideEffects":
        print(f"{prop.descriptor.canonical_name} = {prop}")
    if prop.descriptor.canonical_name == "PidLidInternetAccountName":
        print(f"{prop.descriptor.canonical_name} = {prop}")

添付ファイルから名前付き MAPI プロパティを読み取る

Aspose.Email を使用すると、添付ファイルのすべての名前付き MAPI プロパティを取得できます。以下のコードサンプルは、添付ファイルから名前付き MAPI プロパティを読み取る方法を示しています。

import aspose.email as ae

msg = ae.mapi.MapiMessage.load("my.msg")

# Get all named MAPI properties
attach_properties = msg.attachments[0].named_properties.values
# Read all properties in foreach loop
for prop in attach_properties:
    #  Read any specific property
    if prop.descriptor.name == "AttachmentOriginalUrl":
        print(f"{prop.descriptor.name} = {prop.get_string()}")
    if prop.descriptor.name == "AttachmentWasSavedToCloud":
        print(f"{prop.descriptor.name} = {prop.get_boolean()}")

MSG および添付ファイルからプロパティを削除

このコードサンプルは、本文と添付メッセージファイルを持つ Outlook MSG メッセージの作成を示しています。また、作成されたメッセージから添付プロパティを削除する方法も示します。

import aspose.email as ae

# create an MSG
msg = ae.mapi.MapiMessage("from@doamin.com", "to@domain.com", "subject", "body");
msg.set_body_content("<html><body><h1>This is the body content</h1></body></html>", ae.mapi.BodyContentType.HTML)

# load message and add it to created MSG as attachment
attachment = ae.mapi.MapiMessage.load(attach.msg")
msg.attachments.add("Outlook2 Test subject.msg", attachment)

# count of attachment properties before removal
print(f"Before removal = {msg.attachments[0].properties.count}")

# Delete anyone attachment property
msg.attachments[0].remove_property(923467779)

# count of attachment properties after removal
print(f"Before removal = {msg.attachments[0].properties.count}")