Werken met berichtbijlagen

Bijlagen parseren en opslaan

Outlook‑berichtbestanden kunnen één of meerdere bijlagen bevatten. Aspose.Email stelt ontwikkelaars in staat om door de bijlagen in een MSG‑bestand te itereren en ze op schijf op te slaan. Dit onderwerp beschrijft het proces. Het beschrijft ook hoe je een bijlage kunt insluiten.

Aspose.Email MapiMessage klasse wordt gebruikt om een MSG‑bestand van schijf te laden en biedt de getAttachments() methode die verwijst naar de MapiAttachment objectverzameling die bij het MSG‑bestand hoort. De MapiAttachment object biedt daarnaast methoden die handelingen op de bijlage uitvoeren.

Om bijlagen in een MSG‑bestand op schijf op te slaan met de originele naam en extensie:

  1. Maak een instantie van de MapiMessage klasse om een MSG‑bestand te laden met de Load() statische methode.
  2. Roep de MapiRecipient klasse getAttachments() methode om een referentie te krijgen naar de verzameling van MapiAttachment objecten die bij het MSG‑bestand horen.
  3. Loop door de MapiAttachmentCollection om de inhoud weer te geven met betrekking tot elke MapiAttachment object via zijn publieke methoden.
  4. Roep de MapiAttachment klasse save() methode om de bijlage op schijf op te slaan.  

Berichten insluiten als bijlagen

Een Microsoft Outlook‑bericht kan andere Microsoft Outlook‑berichten als bijlagen bevatten, hetzij als reguliere berichten, zoals hierboven beschreven, of als ingesloten berichten. De MapiAttachmentCollection biedt overladen varianten van de add‑methode voor het maken van Outlook‑berichten met beide soorten bijlagen. In een Outlook‑MSG‑bestand ingesloten in een MSG‑bestand bevat een PR_ATTACH_METHOD met de waarde 5.

Een ingesloten bericht lezen vanuit een bijlage

Invoegen en vervangen van MSG‑bijlagen

Aspose.Email API biedt de mogelijkheid om bijlagen op een specifieke index in het bovenliggende bericht in te voegen. Het biedt ook de mogelijkheid om de inhoud van een bijlage te vervangen door een andere berichtbijlage.

MSG‑bijlage op specifieke locatie invoegen

Aspose.Email API biedt de mogelijkheid om een MSG‑bijlage in een bovenliggend MSG in te voegen met behulp van de MapiAttachmentCollection.Insert() methode.

Ingesloten MSG‑bijlage‑inhoud vervangen

Dit kan worden gebruikt om de inhoud van ingesloten bijlagen te vervangen door nieuwe met behulp van de Vervangen methode. Het kan echter niet worden gebruikt om een bijlage met PR_ATTACH_NUM = 4 (bijvoorbeeld) in de collectie met collection.Count = 2 in te voegen.

Bijlagen opslaan van digitaal ondertekend bericht

Aspose.Email API biedt de mogelijkheid om een waarde op te halen of in te stellen die aangeeft of een clear‑signed bericht zal worden gedecodeerd. 

Een bijlage hernoemen in een MapiMessage

Aspose.Email maakt het mogelijk om de Weergavenaam eigenschapwaarde in MapiMessage‑bijlagen.

Het volgende codevoorbeeld demonstreert hoe de weergavenamen van de eerste en tweede bijlage in het geladen Mapi‑bericht kunnen worden bijgewerkt:

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

Controleren of een bijlage inline of regulier is

Het verschil tussen inline en reguliere bijlagen zit in hoe ze gepresenteerd worden binnen een e‑mail. Inline‑bijlagen zijn ingebed in de e‑mailbody en kunnen worden bekeken zonder een apart bestand te openen of iets te downloaden. Reguliere bijlagen zijn daarentegen losse bestanden die aan de e‑mail worden toegevoegd, maar niet direct in de body van het bericht worden weergegeven en moeten extern worden gedownload en geopend. De MapiAttachment.IsInline eigenschap van de MapiAttachment klasse krijgt een waarde die aangeeft of de bijlage inline of regulier is.

Het volgende codevoorbeeld laadt een e‑mailbericht uit een bestand en haalt vervolgens informatie over de bijlagen op, waarbij specifiek de weergavenaam van elke bijlage en of deze inline in het bericht staat, wordt afgedrukt:

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

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