Uvod
Aspose.Email FOSS za .NET je besplatna, open‑source C# biblioteka koja vam omogućava rad sa Outlook
MSG fajlovima, Compound File Binary (CFB) kontejnerima i EML porukama direktno u vašoj .NET
aplikaciji — bez Microsoft Outlook‑a, bez COM interopa i bez potrebnih nativnih biblioteka. Distribuišite
je kao jedan NuGet paket i ona radi identično na Windows‑u, Linux‑u, macOS‑u, Docker kontejnerima,
i server‑less funkcijama.
Biblioteka rešava ponavljajući problem u preduzeću i integracionom radu: Outlook .msg fajlovi se proizvode od strane miliona poslovnih korisnika, ali njihovo parsiranje bez Outlook‑a je tradicionalno zahtevalo COM automatizaciju ili skupe komercijalne biblioteke. Aspose.Email FOSS za .NET pruža potpunu podršku za čitanje/pisanje za MSG, osnovni CFB binarni kontejner i EML/MIME format — sve pod MIT licencom bez ograničenja u korišćenju.
Bilo da gradite email archival pipeline, migration tool, attachment extractor, ili automated MSG generator, ova biblioteka vam pruža direktan, niskonivo pristup svakom bajtu email formata uz visok nivo MapiMessage API koji vam omogućava da započnete za nekoliko minuta.
Ključne karakteristike
Čitanje Outlook MSG datoteka
Otvorite bilo koji .msg fajl iz putanje ili toka pomoću MsgReader.FromFile() ili MsgReader.FromStream().
Pristupite potpunom MAPI svojstvu toka, zapisima primalaca i pod‑skladištima priloga na
sirovom bajt nivou 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);
Kreirajte MSG fajlove od nule
Izgradite kompletan email programatski koristeći MapiMessage.Create(). Postavite temu, plain‑text
telo, HTML telo, ime pošiljaoca, email adresu pošiljaoca, vreme isporuke i internet ID poruke, zatim
dodajte primaoce pomoću AddRecipient() i priloge pomoću AddAttachment(). Serijalizujte pomoćumessage.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 nazad)
Učitajte standardni RFC 5322 .eml fajl u MapiMessage sa MapiMessage.LoadFromEml(),
zatim ga sačuvajte kao Outlook .msg fajl — ili obrnuto proces sa MapiMessage.SaveToEml().
Ugrađeni MIME parser čuva predmet, telo, HTML telo, pošiljaoca, primaoce i priloge
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);
Pristup CFB kontejneru na niskom nivou
Outlook MSG fajlovi su izgrađeni na Compound File Binary (CFB) formatu — hijerarhijskom binarnom kontejneru sličnom sistemu datoteka. CfbReader prikazuje kompletno stablo direktorijuma: iterirajte skladišta i tokove pomoću IterStorages(), IterStreams() i IterChildren(), navigirajte do određenih unosa putem putanje pomoću ResolvePath(), i pročitajte sirove bajtove toka pomoću GetStreamData().
CfbWriter vam omogućava da izgradite i serijalizujete CFB dokument od nule. Kreirajte CfbDocument, prikačite CfbStorage i CfbStream čvorove i pozovite CfbWriter.ToBytes() ili CfbWriter.WriteFile() da serijalizujete.
MAPI svojstvo i pristup prilozima
Klasa MapiPropertyCollection pruža tipizovan pristup MAPI svojstvima za bilo koji MSG ili storage objekat: koristite Get(), Set(), Add() i Remove() sa standardnim CommonMessagePropertyId ili PropertyTypeCode enum vrednostima. Pristupajte metapodacima priloga i binarnim podacima putem MapiAttachment svojstava: Filename, MimeType, ContentId i Data.
Brzi početak
Instalirajte paket:
dotnet add package Aspose.Email.Foss
Pročitajte 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 | ✓ | ✓ |
Otvoreni izvor i licenciranje
Aspose.Email FOSS for .NET je objavljen pod MIT licencom. Možete ga slobodno koristiti u ličnim, komercijalnim i projektima otvorenog koda bez ikakvih ograničenja u upotrebi. Izvorni kod je dostupan na github.com/aspose-email-foss/Aspose.Email-FOSS-for-.Net.