Aspose.Email FOSS for .NET yra MIT licencijuota, nepriklausomų priklausomybių neturinti C# biblioteka, skirta dirbti su Microsoft Outlook .msg failais, Compound File Binary (CFB) konteineriais ir EML žinutėmis. Pridėkite vieną NuGet paketą ir iš karto pradėkite skaityti, kurti ir apdoroti el. laiškų žinutes be Microsoft Outlook įdiegimo ar bet kokios nuosavybinės vykdymo aplinkos.
Biblioteka suteikia du prieigos lygius. Žemo lygio, CfbReader ir CfbWriter suteikia visišką kontrolę CFB binarinėse konteineriuose — naršyti katalogų įrašus, skaityti ir rašyti saugojimo mazgus ir srauto duomenis, bei peržiūrėti neapdorotą sektorių išdėstymą. MsgReader ir MsgWriter apdoroja MSG formatą ant CFB, atskleidžia MAPI savybių srautus, gavėjų lenteles ir priedų sub-saugojimus. Aukšto lygio, MapiMessage leidžia kurti naujas žinutes nuo pradžių, skaityti temą, turinį, siuntėją ir gavėjus, tvarkyti priedus ir konvertuoti tarp MSG ir EML formatų naudojant įmontuotą MIME įgyvendinimą.
Biblioteka skirta .NET 8.0 arba naujesnei versijai ir neturi natūralių priklausomybių, todėl ji tinka Windows, Linux, macOS, Docker konteineriams ir serverless funkcijoms. Daugiau funkcijų ir komercinės paramos rasite Aspose.Email for .NET.
CfbReader.FromFile(), CfbReader.FromStream() arba new CfbReader(data).IterStorages(), IterStreams(), IterChildren() ir IterTree().ResolvePath(names), kad rastumėte konkretų srautą pagal pavadinimo grandinę.CfbDocument ir serializuokite į baitus arba failą per CfbWriter.ToBytes() arba CfbWriter.WriteFile().CfbStorage ir CfbStream mazgus prie bet kurio saugyklos mazgo prieš serializavimą..msg failams — tiesioginė CFB prieiga leidžia atlikti teismo tyrimo patikrinimą ir taisymą.MsgReader.FromFile() arba MsgReader.FromStream() ir pasiekite pagrindinius MAPI savybių srautus, gavėjų įrašus ir priedų sub‑saugyklas.MsgDocument su MsgWriter.ToBytes() arba MsgWriter.WriteFile().MsgStorage, MsgStream ir MsgStorage.FindStream().MsgStorage.FindStream() ir MsgStorage.FindStorage(), kad rastumėte pavadintus poįrašus..msg failų nuskaitymas iš archyvų katalogų ir išskirti metaduomenis arba priedus..msg failus programiškai ir pristatykite juos į Outlook pagrįstas pašto sistemas.MapiMessage.Create(subject, body), nustatykite SenderName, SenderEmailAddress ir HtmlBody.To, Cc ir Bcc gavėjus per AddRecipient() su el. pašto adresu ir rodomuoju vardu.AddAttachment() arba sukonstruokite MapiAttachment objektus tiesiogiai su Filename, MimeType, ContentId ir Data.message.Save() arba message.Save(stream) ir įkelkite iš naujo su MapiMessage.FromFile() arba MapiMessage.FromStream().message.Attachments ir išsaugokite kiekvieną attachment.Data į diską.message.Subject, message.Body, message.SenderEmailAddress ir message.Recipients be COM automatizacijos..eml failą (RFC 5322 / MIME) į pilną MapiMessage objektą per MapiMessage.LoadFromEml(stream).MapiMessage atgal į MIME formatą naudodami message.SaveToEml() arba message.SaveToEml(stream)..eml ir .msg failų, į vieną formatą..eml fiksacijas testuose ir patikrinkite, ar jos išlieka MSG perkelimo metu be duomenų praradimo.Atidarykite Outlook MSG failą iš srauto ir atspausdinkite temą — nereikia Microsoft Outlook.
using System.IO;
using Aspose.Email.Foss.Msg;
using var stream = File.OpenRead("sample.msg");
var message = MapiMessage.FromStream(stream);
Console.WriteLine(message.Subject);
Sukurkite pilną el. laišką su siuntėju, gavėju ir priedu, tada įrašykite jį į MSG failą.
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);
Įkelkite standartinį .eml failą ir išsaugokite jį kaip Outlook .msg failą naudodami įmontuotą MIME analizatorių.
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);