Bijlagen beheren in Outlook‑MSG‑bestanden
Aspose.Email for C++ biedt een uitgebreide API voor het benaderen, opslaan, verwijderen en insluiten van bijlagen bij het werken met Microsoft Outlook‑MSG‑bestanden. Bijlagen worden verwerkt via de MapiMessage klasse blootlegt, met behulp van zijn Attachments eigenschap, die een MapiAttachmentCollection.
Bijlagen opslaan vanuit een MSG‑bestand
To extract and save attachments from an MSG file:
- Laad het bericht met behulp van MapiMessage::Load.
- Itereer door de MapiAttachmentCollection.
- Sla elke bijlage op met de MapiAttachment::Save() methode.
// Create an instance of MapiMessage from file
System::SharedPtr<MapiMessage> message = MapiMessage::Load(fileName);
// Iterate through the attachments collection
{
auto attachment_enumerator = (message->get_Attachments())->GetEnumerator();
decltype(attachment_enumerator->get_Current()) attachment;
while (attachment_enumerator->MoveNext() && (attachment = attachment_enumerator->get_Current(), true))
{
// Save the individual attachment
attachment->Save(dataDir + attachment->get_FileName());
}
}
Bijlagen verwijderen
Aspose.Email voor C++ biedt twee manieren om bijlagen uit MSG‑bestanden te verwijderen:
- Roep de RemoveAttachments() methode
Het neemt het pad van het berichtbestand als parameter. Het is geïmplementeerd als een openbare statische methode, dus u hoeft het object niet te instantieren. Deze statische hulpmethode verwijdert alle bijlagen uit een berichtbestand.
Het volgende codefragment laat zien hoe deze methode te gebruiken.
- Roep de DestoryAttachment() methode
Het werkt sneller omdat het bijlagen verwijdert zonder het MSG‑bestand volledig te parseren.
MSG‑bijlagen toevoegen
MSG‑bestanden kunnen andere MSG‑bestanden bevatten, zowel als standaard- als ingesloten bijlagen. Gebruik de overladen Add methoden in MapiAttachmentCollection om Outlook‑berichten in te sluiten.
Het volgende codevoorbeeld toont hoe een nieuw MAPI‑bericht te maken met opgegeven afzender, ontvanger, onderwerp en inhoud, vervolgens een bestaand MSG‑bestand als een ingesloten bericht toe te voegen, en tenslotte het resulterende bericht met de ingesloten bijlage op te slaan in een nieuw MSG‑bestand.
System::SharedPtr<MapiMessage> message = System::MakeObject<MapiMessage>(L"from@test.com", L"to@test.com", L"Subj", L"This is a message body");
System::SharedPtr<MapiMessage> attachMsg = MapiMessage::Load(L"Message.msg");
message->get_Attachments()->Add(L"Weekly report.msg", attachMsg);
message->Save(dataDir + L"WithEmbeddedMsg_out.msg");