MAPI Özellikleriyle Çalışma

Outlook MAPI Özelliğine Erişim ve Ayarlama

MapiProperty sınıfı, aşağıdakileri içeren bir MAPI özelliğini temsil eder:

  • Name: özelliğin adını temsil eden bir dize.
  • Tag: özelliğin etiketini temsil eden uzun bir değer.
  • Data: özelliğin verisini temsil eden bir bayt dizisi.

MAPI Özellik Etiketi Kullanarak MAPI Özelliği Almak

MAPI özelliklerini almak için:

  1. Dosyalardan veya akıştan yükleyerek bir MapiMessage örneği oluşturun.
  2. MapiMessage.Properties koleksiyonundan MapiPropertyTag anahtarlarıyla MapiProperty’yi alın.
  3. GetX yöntemiyle MapiProperty verisini alın.

Aşağıdaki kod snippet’i, MAPI özellik etiketi kullanarak MAPI özelliğini nasıl alacağınızı gösterir.

MAPI Özelliklerini Ayarlama

Aşağıdaki kod örneği MAPI özelliklerini nasıl ayarlayacağınızı gösterir.

convertDateTime metodunun tanımı aşağıdaki gibidir:

Outlook MSG Dosyalarından Adlandırılmış MAPI Özelliklerini Okuma

Aspose.Email, adlandırılmış MAPI özelliklerinin çıkarılmasını da içeren MSG dosyaları ile çalışmak için bir dizi API sağlar.

MSG dosyasından Adlandırılmış MAPI Özelliklerini Okuma

Adlandırılmış MAPI özelliklerini okumak için, named_properties özelliğini kullanabiliriz. MapiMessage sınıfı. Aşağıdaki kod örneği, bir mesajın nasıl yükleneceğini, tüm adlandırılmış MAPI özelliklerinin nasıl alınacağını ve her özelliğin değerinin nasıl kontrol edileceğini gösterir:

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}")

Ek’ten Adlı MAPI Özelliğini Okuma

Aspose.Email, bir ekin tüm adlandırılmış MAPI özelliklerini almayı mümkün kılar. Aşağıdaki kod örneği, eklerden adlandırılmış MAPI özelliklerinin nasıl okunacağını göstermektedir:

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’lerden ve Eklerden Özellikleri Kaldırma

Bu kod örneği, bir gövde içeriği ve ekli bir mesaj dosyasıyla bir Outlook MSG mesajı oluşturmayı göstermektedir. Ayrıca, oluşturulan mesajdan bir ek özelliğinin nasıl silineceğini de gösterir.

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}")