Uvod
Aspose.Email FOSS za .NET je besplatna, open‑source C# biblioteka koja vam omogućuje rad s Outlook
MSG datotekama, Compound File Binary (CFB) kontejnerima i EML porukama izravno u vašoj .NET
aplikaciji — bez Microsoft Outlooka, bez COM interopa i bez izvornih biblioteka. Distribuirajte
je kao jedan NuGet paket i ona radi identično na Windowsu, Linuxu, macOS‑u, Docker kontejnerima,
i serverless funkcijama.
Biblioteka rješava ponavljajući problem u poduzećima i integracijskim radovima: Outlook .msg datoteke proizvode milijuni poslovnih korisnika, ali njihovo parsiranje bez Outlooka tradicionalno je zahtijevalo COM automatizaciju ili skupe komercijalne biblioteke. Aspose.Email FOSS za .NET pruža potpunu podršku za čitanje/pisanje za MSG, temeljni CFB binarni kontejner i EML/MIME format — sve pod MIT licencom bez ograničenja korištenja.
Bilo da izgradite cjevovod za arhiviranje e‑mailova, alat za migraciju, ekstraktor privitaka,
ili automatizirani MSG generator, ova biblioteka vam pruža izravan, niskorazinski pristup svakom bajtu
formata e‑maila uz visokorazinsko MapiMessage API‑je koje vam omogućuje da započnete za nekoliko minuta.
Ključne značajke
Čitanje Outlook MSG datoteka
Otvorite bilo koju .msg datoteku iz puta ili toka pomoću MsgReader.FromFile() ili MsgReader.FromStream().
Pristupite cjelokupnom MAPI svojstvu toka, zapisima primatelja i podskladištima privitaka na
sirovom razini bajta putem MsgStorage i MsgStream.
using System.IO;
using Aspose.Email.Foss.Msg;
using var stream = File.OpenRead("sample.msg");
var message = MapiMessage.FromStream(stream);
Console.WriteLine(message.Subject);
Kreiranje MSG datoteka od početka
Izradite potpunu e‑poruku programatski koristeći MapiMessage.Create(). Postavite predmet, obični tekst
tijelo, HTML tijelo, ime pošiljatelja, adresu e‑pošte pošiljatelja, vrijeme isporuke i ID internetske poruke, zatim
dodajte primatelje s AddRecipient() i privitke s AddAttachment(). Serijalizirajte smessage.Save().
using System.IO;
using Aspose.Email.Foss.Msg;
var message = MapiMessage.Create("Hello", "Body");
message.SenderName = "Alice";
message.SenderEmailAddress = "alice@example.com";
message.AddRecipient("bob@example.com", "Bob");
using var attachmentStream = new MemoryStream("abc"u8.ToArray());
message.AddAttachment("note.txt", attachmentStream, "text/plain");
using var output = File.Create("hello.msg");
message.Save(output);
Pretvori EML u MSG (i natrag)
Učitajte standardnu RFC 5322 .eml datoteku u MapiMessage s MapiMessage.LoadFromEml(),
zatim je spremite kao Outlook .msg datoteku — ili obrnuto postupak s MapiMessage.SaveToEml().
Ugrađeni MIME parser očuva predmet, tijelo, HTML tijelo, pošiljatelja, primatelje i privitke
kroz potpune EML ↔ MSG cikluse.
using System.IO;
using Aspose.Email.Foss.Msg;
using var input = File.OpenRead("message.eml");
var message = MapiMessage.LoadFromEml(input);
using var msgOutput = File.Create("message.msg");
message.Save(msgOutput);
using var emlOutput = File.Create("roundtrip.eml");
message.SaveToEml(emlOutput);
Niskorazinski pristup CFB kontejneru
Outlook MSG datoteke su izgrađene na formatu Compound File Binary (CFB) — hijerarhijskom binarnom kontejneru sličnom datotečnom sustavu. CfbReader izlaže cijelo stablo direktorija: iterirajte spremišta i tokove s IterStorages(), IterStreams() i IterChildren(), navigirajte do određenih unosa putem puta s ResolvePath() i čitajte sirove bajtove toka s GetStreamData().
CfbWriter vam omogućuje izgraditi i serijalizirati CFB dokument od nule. Stvorite CfbDocument, priložite CfbStorage i CfbStream čvorove i pozovite CfbWriter.ToBytes() ili CfbWriter.WriteFile() za serijalizaciju.
MAPI svojstvo i pristup privitcima
Klasa MapiPropertyCollection pruža tipizirani pristup MAPI svojstvima za bilo koji MSG ili objekt pohrane: koristite Get(), Set(), Add() i Remove() s standardnim CommonMessagePropertyId ili PropertyTypeCode vrijednostima enum-a. Pristupite metapodacima privitaka i binarnim podacima putem svojstava MapiAttachment: Filename, MimeType, ContentId i Data.
Brzi početak
Instalirajte paket:
dotnet add package Aspose.Email.Foss
Pročitaj predmet iz MSG datoteke:
using System.IO;
using Aspose.Email.Foss.Msg;
using var stream = File.OpenRead("sample.msg");
var message = MapiMessage.FromStream(stream);
Console.WriteLine(message.Subject);
Console.WriteLine(message.SenderEmailAddress);
foreach (var recipient in message.Recipients)
Console.WriteLine($"To: {recipient.EmailAddress}");
foreach (var attachment in message.Attachments)
Console.WriteLine($"Attachment: {attachment.Filename} ({attachment.MimeType})");
Podržani formati
| Format | Ekstenzija | Čitanje | Pisanje |
|---|---|---|---|
| Compound File Binary | .cfb | ✓ | ✓ |
| Outlook Message | .msg | ✓ | ✓ |
| MIME / EML | .eml | ✓ | ✓ |
Open Source i licenciranje
Aspose.Email FOSS za .NET objavljen je pod MIT licencom. Možete ga slobodno koristiti u osobnim, komercijalnim i projektima otvorenog koda bez ikakvih ograničenja korištenja. Izvorni kod je dostupan na github.com/aspose-email-foss/Aspose.Email-FOSS-for-.Net.