Arbeta med meddelandebilagor

Analysera och spara bilagor

Outlook‑meddelandefiler kan innehålla en eller flera bilagor. Aspose.Email låter utvecklare iterera över bilagorna i en MSG‑fil och spara dem till disk. Det här ämnet beskriver processen. Det beskriver också hur man bäddar in en bilaga.

Aspose.Email MapiMessage klassen används för att läsa in en MSG‑fil från disk och exponerar getAttachments() metod som refererar till MapiAttachment objektsamling associerad med MSG‑filen. Den MapiAttachment objektet exponerar ytterligare metoder som utför åtgärder på bilagan.

För att spara bilagor i en MSG‑fil till disk med originalnamn och -extension:

  1. Skapa en instans av MapiMessage klassen för att läsa in en MSG-fil med hjälp av Load() statiska metoden.
  2. Anropa MapiRecipient klass getAttachments() metod för att få en referens till samlingen av MapiAttachment objekt som är associerade med MSG‑filen.
  3. Loopa igenom MapiAttachmentCollection för att visa innehåll angående varje MapiAttachment objekt via dess publika metoder.
  4. Anropa MapiAttachment klass save() metod för att spara bilagan till disk.  

Bädda in meddelanden som bilagor

Ett Microsoft Outlook‑meddelande kan innehålla andra Microsoft Outlook‑meddelanden som bilagor, antingen som vanliga meddelanden, beskrivna ovan, eller som inbäddade meddelanden. Det MapiAttachmentCollection tillhandahåller överlagrade medlemmar av add‑metoden för att skapa Outlook‑meddelanden med båda typerna av bilagor. Outlook MSG‑filer inbäddade i en MSG‑fil innehåller ett PR_ATTACH_METHOD med värdet 5.

Läsa ett inbäddat meddelande från en bilaga

Infogning och ersättning av MSG‑bilagor

Aspose.Email API ger möjlighet att infoga bilagor på ett specifikt index i föräldrameddelandet. Det ger även möjlighet att ersätta innehållet i en bilaga med en annan meddelandebilaga.

Infoga MSG‑bilaga på en specifik plats

Aspose.Email API ger möjlighet att infoga en MSG‑bilaga i ett föräldra‑MSG med hjälp av MapiAttachmentCollection.Insert() metod.

Ersätt inbäddat MSG‑bilageinnehåll

Detta kan användas för att ersätta inbäddat bilageinnehåll med nya med hjälp av Ersätt metod. Dock kan den inte användas för att infoga en bilaga med PR_ATTACH_NUM = 4 (till exempel) i en samling där collection.Count = 2.

Spara bilagor från digitalt signerat meddelande

Aspose.Email API ger möjlighet att hämta eller sätta ett värde som indikerar om ett clearsignerat meddelande ska avkodas. 

Byt namn på en bilaga i ett MapiMessage

Aspose.Email gör det möjligt att redigera Visningsnamn egenskapsvärde i MapiMessage‑bilagor.

Följande kodexempel visar hur man uppdaterar visningsnamnen för den första och andra bilagan i det laddade Mapi‑meddelandet:

MapiMessage msg = MapiMessage.load(fileName);
msg.getAttachments().get_Item(0).setDisplayName("New display name 1");
msg.getAttachments().get_Item(1).setDisplayName("New display name 2");

Kontrollera om en bilaga är inline eller vanlig

Skillnaden mellan inline‑ och vanliga bilagor är hur de presenteras i ett e‑postmeddelande. Inline‑bilagor är inbäddade i e‑postens kropp och kan visas utan att öppna en separat fil eller ladda ner något. Vanliga bilagor är däremot separata filer som bifogas e‑posten men som inte visas direkt i meddelandekroppen och måste laddas ner och öppnas externt. Det MapiAttachment.IsInline egenskap hos MapiAttachment klassen får ett värde som indikerar om bilagan är inline eller vanlig.

Följande kodexempel läser in ett e‑postmeddelande från en fil och hämtar sedan information om bilagorna, specifikt genom att skriva ut varje bilages visningsnamn samt om den är inline i meddelandet eller inte:

MapiMessage message = MapiMessage.load("fileName");

for (MapiAttachment attach : message.getAttachments()) {
    System.out.println(attach.getDisplayName() + ": " + attach.isInline());
}