Manag MAPI Properties

Att hantera e-postdata programatiskt kan vara komplext, särskilt när man arbetar med Messaging Application Programming Interface (MAPI) egenskaper. Dessa egenskaper är attribut eller metadata kopplade till MAPI-objekt såsom meddelanden, mappar, mottagare och andra komponenter i ett meddelandesystem. Dessa egenskaper tillhandahåller detaljerad information om objektet, som ämnet för ett e-postmeddelande, avsändarens adress, datumet då ett e-postmeddelande skickades, och mer. MAPI-egenskaper används i stor utsträckning i e-postklienter och andra meddelandeapplikationer för att hantera och manipulera e-postdata. Denna artikel går in på olika tekniker för att få åtkomst till, enumerera och manipulera MAPI-egenskaper med hjälp av Aspose.Email för .NET.

.NET API för att hantera MAPI-egenskaper i C#

Aspose.Email för .NET erbjuder omfattande stöd för att hantera Messaging Application Programming Interface-egenskaper, vilket gör det möjligt för utvecklare att hantera och manipulera e-postdata med detaljerad kontroll. Det är också ett omfattande API som gör att utvecklare kan utrusta sina e-postapplikationer med robusta funktioner för meddelandehantering och andra relaterade uppgifter.

Genom att använda Aspose.Email för .NET kan utvecklare skapa sofistikerade lösningar för hantering och bearbetning av e-post. För att börja använda biblioteket kan du ladda ner det från Aspose-webbplatsen eller NuGet och integrera det i ditt projekt.

Kategorier av MAPI-egenskaper

Se till att du har Aspose.Email i ditt projekt och låt oss börja. MAPI-egenskaper kan kategoriseras i tre huvudtyper: standardegenskaper, namngivna egenskaper och anpassade (användardefinierade) egenskaper. Varje kategori har ett annat syfte och erbjuder olika nivåer av flexibilitet och kontroll för utvecklare som arbetar med e-postdata. Här är en översikt över varje typ:

Standardegenskaper

Definierade av MAPI-specifikationen, de har fördefinierade egenskapstaggar och används vanligtvis för standardattribut för meddelandeobjekt. Till exempel:

  • [PR_SUBJECT][24]: Ämnet för meddelandet.
  • [PR_SENDER_NAME][25]: Avsändarens namn.
  • [PR_DELIVER_TIME][26]: Datum och tid när det ursprungliga meddelandet levererades.

Namngivna egenskaper

Identifierade av en GUID och ett strängnamn eller ett heltalsidentifierare, dessa egenskaper möjliggör mer specifik kategorisering och identifiering utöver standardegenskaper.

Anpassade (användardefinierade) egenskaper

Definierade av utvecklare, de utökar funktionaliteten hos MAPI-objekt, vilket gör det möjligt med anpassad och applikationsspecifik datahantering.

Lista alla MAPI-egenskaper

För att lista alla MAPI-egenskaper i ett meddelande kommer vi att använda MapiMessage.Load metoden för att ladda meddelandet och iterera över dess egenskaper. Kodexemplet nedan demonstrerar hur man laddar ett MAPI-meddelande, itererar genom dess egenskaper och skriver ut detaljerad information om varje egenskap med hjälp av Aspose.Email för .NET:

  1. Ladda MAPI-meddelandefilen från den angivna sökvägen.
  2. Iterera över msg.Properties.Values samlingen för att få tillgång till varje egenskap.
  3. För varje MAPI-egenskap, skriv ut dess tagg, kanoniska namn och datatyp:
    • Tagg-egenskapen ger den unika identifieraren för MAPI-egenskapen.
    • Descriptor.CanonicalName-egenskapen ger det människoläsbara namnet på egenskapen.
    • Descriptor.DataType-egenskapen indikerar datatypen för egenskapen.

Lista namngivna MAPI-egenskaper

Medan vanliga MAPI-egenskaper identifieras av en 16-bitars egenskapstag som består av en egenskapstyp och en egenskapsidentifierare, identifieras namngivna egenskaper av en kombination av en GUID och antingen ett strängnamn eller ett heltalsidentifierare:

  • GUID (Globally Unique Identifier): En unik identifierare som säkerställer att egenskapssatsen är unik. Denna GUID ges vanligtvis av utvecklaren.
  • Namn eller ID:
    • Ett strängnamn (skiftlägeskänsligt).
    • En 32-bitars heltalsidentifierare.

Följande kodsnutt demonstrerar hur man använder Aspose.Email för .NET för att iterera genom namngivna MAPI-egenskaper för ett meddelande och skriva ut detaljerad information baserat på egenskapens beskrivartyp:

  1. Iterera genom varje namngiven egenskap genom att få tillgång till ‘NamedProperties.Values’ samlingen av det laddade MapiMessage objektet för att få alla namngivna MAPI-egenskaper.
  2. Kontrollera om beskrivaren för den aktuella namngivna egenskapen är av typen PidNamePropertyDescriptor. Om så är fallet, kasta beskrivaren till PidNamePropertyDescriptor. Skriv ut GUID, kanoniskt namn och datatyp för egenskapen.
  3. Kontrollera om beskrivaren för den aktuella namngivna egenskapen är av typen PidLidPropertyDescriptor. Om så är fallet, kasta beskrivaren till PidLidPropertyDescriptor. Skriv ut GUID, kanoniskt namn, lång ID och datatyp för egenskapen.

Således har vi skrivit ut specifika attribut som PropertySet, CanonicalName, DataType och LongId beroende på beskrivartypen (PidNamePropertyDescriptor eller PidLidPropertyDescriptor).

Hämta egenskaper efter beskrivare

Att hämta egenskaper efter beskrivare är ett enkelt sätt att få åtkomst till specifika MAPI-egenskaper utan att iterera genom hela egenskapskollektionen. Aspose.Email för .NET tillhandahåller ett bekvämt sätt att hämta egenskaper med hjälp av KnownPropertyList. Kodexemplet nedan demonstrerar hur man hämtar och skriver ut detaljerna för en specifik egenskap, t.ex. InternetMessageId, om den finns.

  1. Få åtkomst till InternetMessageId-egenskapen från egenskapskollektionen av MapiMessage-objektet med hjälp av KnownPropertyList.
  2. Verifiera att egenskapen inte är null för att säkerställa att den finns i meddelandet.
  3. Skriv ut detaljer om den hämtade egenskapen: Tagg, kanoniskt namn och datatyp.
  4. Om egenskapens datatyp är en sträng, använd GetString-metoden för att hämta egenskapsvärdet och skriv ut det.

Hämta egenskaper efter tagg

En egenskapstag är en 32-bitars identifierare som unikt identifierar en MAPI-egenskap. Den består av en egenskaps-ID och en egenskapstyp. Genom att använda egenskapstaggar kan du direkt få åtkomst till specifika egenskaper inom ett MAPI-meddelande. Kodexemplet nedan demonstrerar hur man hämtar och skriver ut detaljerna för en specifik egenskap, t.ex. PR_HASATTACH, om den finns.

  1. Använd MapiPropertyTag för att direkt få åtkomst till PR_HASATTACH-egenskapen från egenskapskollektionen av MapiMessage-objektet.
  2. Verifiera att egenskapen inte är null för att säkerställa att den finns i meddelandet.
  3. Skriv ut detaljer om den hämtade egenskapen: Tagg och datatyp.
  4. Om egenskapens datatyp är boolean, använd GetBoolean-metoden för att hämta egenskapsvärdet och skriv ut huruvida meddelandet har bilagor.

Använda GetProperty-metoden

GetProperty-metoden förenklar processen för att hämta både vanliga och namngivna egenskaper från ett MAPI-meddelande. Denna metod gör att du direkt kan få åtkomst till en egenskap genom dess beskrivare eller tagg utan att manuellt kontrollera egenskapskollektionen. Kodexemplet nedan demonstrerar hur man utnyttjar GetProperty-metoden för att få åtkomst till specifika MAPI-egenskaper:

  1. Använd GetProperty-metoden för att direkt få åtkomst till CurrentVersionName-egenskapen från KnownPropertyList-klassen.
  2. Verifiera att egenskapen inte är null för att säkerställa att den finns i meddelandet.
  3. Använd GetString-metoden för att hämta egenskapsvärdet och skriv ut det.

Här används GetProperty för att direkt komma åt CurrentVersionName-egenskapen.

Arbeta med anpassade egenskaper

Anpassade MAPI-egenskaper är ytterligare egenskaper som inte ingår i den fördefinierade uppsättningen av MAPI-egenskaper. De skapas för att hålla applikationsspecifik data och definieras av utvecklaren. Genom att låta utvecklare definiera och använda ytterligare egenskaper ger MAPI ett flexibelt och kraftfullt sätt att lagra och hantera anpassad data inom meddelandeapplikationer. Anpassade egenskaper är namngivna egenskaper (som använder en GUID och strängnamn). Aspose.Email introducerar ett tillvägagångssätt som du kan använda för att hämta alla anpassade egenskaper definierade i meddelandet. Detta uppnås med GetCustomProperties-metoden. Kodexemplet nedan demonstrerar hur man hämtar och skriver ut alla anpassade egenskaper definierade i ett MAPI-meddelande:

  1. Använd GetCustomProperties-metoden för att få en samling av alla anpassade egenskaper definierade i meddelandet.
  2. Iterera genom varje anpassad egenskap i den hämtade samlingen.
  3. Skriv ut egenskapsdetaljer: Tagg, kanoniskt namn och datatyp.

Slutsats

Denna artikel har utforskat olika tekniker för att få åtkomst till, enumerera och manipulera MAPI-egenskaper med hjälp av Aspose.Email för .NET. Aspose.Email tillhandahåller omfattande stöd för att hantera dessa egenskaper, vilket gör att utvecklare kan hantera och manipulera e-postdata med detaljerad kontroll. Genom att använda detta bibliotek kan utvecklare skapa sofistikerade lösningar för hantering och bearbetning av e-post, vilket gör det enklare att arbeta med standard-, namngivna och anpassade egenskaper.

Dessutom erbjuder Aspose.Email omfattande dokumentation, en omfattande API-referens och en mängd gratis onlineverktyg och appar för att förbättra din utvecklingsprocess. Utvecklare kan också få tillgång till ett gratis supportforum för communityhjälp och insikter, och hålla sig uppdaterade med de senaste tipsen och handledningarna genom Aspose blogg. Dessa resurser är ovärderliga för att maximera potentialen av biblioteket i dina projekt.

Se även