Aspose.Email FOSS for .NET on MIT-lisensoitu, riippumaton C# kirjasto Microsoft Outlook .msg -tiedostojen, Compound File Binary (CFB) -konttien ja EML-viestien käsittelyyn. Lisää yksi NuGet paketti ja aloita heti sähköpostiviestien lukeminen, luominen ja käsittely asentamatta Microsoft Outlookia tai mitään proprietaarista suoritusaikaympäristöä.
Kirjasto tarjoaa kaksi tasoa pääsyä. Alhaisella tasolla CfbReader ja CfbWriter antavat täyden hallinnan CFB-binäärikonttien yli — selaa hakemistomerkintöjä, lue ja kirjoita tallennus solmuja ja virtaustietoja, ja tarkastele raaka sektori layoutia. MsgReader ja MsgWriter käsittelevät MSG-muotoa CFB:n päällä, paljastaen MAPI-ominaisuusvirrat, vastaanottajataulukot ja liitteiden alitallennukset. Korkeammalla tasolla MapiMessage antaa sinun luoda uusia viestejä alusta alkaen, lukea aihe, runko, lähettäjä ja vastaanottajat, hallita liitteitä ja muuntaa MSG- ja EML-muotojen välillä sisäänrakennetun MIME-toteutuksen avulla.
Kirjasto kohdistuu .NET 8.0:een tai uudempiin ja sillä ei ole natiiviriippuvuuksia, mikä tekee siitä sopivan Windowsille, Linuxille, macOSille, Docker-säiliöille ja serverittomille toiminnoille. Lisäominaisuuksista ja kaupallisesta tuesta katso Aspose.Email for .NET.
CfbReader.FromFile(), CfbReader.FromStream() tai new CfbReader(data).IterStorages(), IterStreams(), IterChildren() ja IterTree().ResolvePath(names):n avulla löytääksesi tietyn virtauksen nimen ketjun perusteella.CfbDocument:lla ja sarjoita ne tavuiksi tai tiedostoksi CfbWriter.ToBytes():n tai CfbWriter.WriteFile():n avulla.CfbStorage ja CfbStream -solmut mihin tahansa tallennussolmuun ennen sarjoitusta..msg -tiedostojen säiliömuoto — suora CFB-pääsy mahdollistaa forensisen tarkastelun ja korjauksen.MsgReader.FromFile() tai MsgReader.FromStream() avulla ja käytä taustalla olevia MAPI-ominaisuusvirtoja, vastaanottajatietueita ja liitteiden alitallennuksia.MsgDocument:stä käyttäen MsgWriter.ToBytes() tai MsgWriter.WriteFile().MsgStorage, MsgStream ja MsgStorage.FindStream() kautta.MsgStorage.FindStream() ja MsgStorage.FindStorage() löytääksesi nimettyjä alimerkintöjä..msg -tiedostoja arkistokansioista ja poimi metatietoja tai liitteitä..msg -tiedostot ohjelmallisesti ja toimita ne Outlook-pohjaisiin sähköpostijärjestelmiin.MapiMessage.Create(subject, body), aseta SenderName, SenderEmailAddress ja HtmlBody.To, Cc ja Bcc vastaanottajat AddRecipient() sähköpostiosoitteella ja näyttönimellä.AddAttachment() avulla tai rakenna MapiAttachment-objektit suoraan Filename, MimeType, ContentId ja Data avulla.message.Save() tai message.Save(stream) ja lataa uudelleen MapiMessage.FromFile() tai MapiMessage.FromStream().message.Attachments, ja tallenna jokainen attachment.Data levylle.message.Subject, message.Body, message.SenderEmailAddress ja message.Recipients ilman COM-automaatioita..eml tiedosto (RFC 5322 / MIME) täydeksi MapiMessage objektiksi MapiMessage.LoadFromEml(stream) avulla.MapiMessage takaisin MIME-muotoon käyttäen message.SaveToEml() tai message.SaveToEml(stream)..eml ja .msg tiedostoja, yhdeksi formaatiksi..eml testidata testauksessa ja varmista, että ne selviävät MSG‑kierroksesta ilman tietojen menetystä.Avaa Outlook MSG -tiedosto virrasta ja tulosta aihe — Microsoft Outlookia ei tarvita.
using System.IO;
using Aspose.Email.Foss.Msg;
using var stream = File.OpenRead("sample.msg");
var message = MapiMessage.FromStream(stream);
Console.WriteLine(message.Subject);
Luo täydellinen sähköposti lähettäjän, vastaanottajan ja liitteen kanssa, ja tallenna se MSG‑tiedostoon.
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);
Lataa vakio .eml -tiedosto ja tallenna se Outlook .msg -tiedostona käyttäen sisäänrakennettua MIME-jäsennintä.
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);