Aspose.Email FOSS for .NET on MIT-lisenssi, 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 suoritusalustaa.
Kirjasto tarjoaa kaksi pääsyä. Alhaisella tasolla CfbReader ja CfbWriter antavat täyden hallinnan CFB-binäärikontteihin — selaa hakemistomerkintöjä, lue ja kirjoita tallennus solmuja ja virtaustietoja, ja tarkastele raakasektorirakennetta. MsgReader ja MsgWriter käsittelevät MSG-muotoa CFB:n päällä, paljastaen MAPI-ominaisuusvirrat, vastaanottajataulut 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 eikä sillä ole natiiviriippuvuuksia, mikä tekee siitä sopivan Windowsille, Linuxille, macOSille, Docker-konttien ja serverless-funktioiden käyttöön. 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) -tiellä etsimään tietyn virran nimiketjun mukaan.CfbDocument ja sarjataan byteihin tai tiedostoon CfbWriter.ToBytes() tai CfbWriter.WriteFile().CfbStorage - ja CfbStream - solmuja mihin tahansa tallentumissolmiin ennen sarjoittamista..msg -tiedoille tarkoitettu kontineriformaatti. Suora CFb-yhteys mahdollistaa rikostutkintatarkastuksen ja korjaamisen.MsgReader.FromFile() tai MsgReader.FromStream() ja pääsee MAPI-ominaisuuksien, vastaanottajien tallenteiden ja liitteiden alavarastoihin.MsgDocument -toiminnosta, jossa on MsgWriter.ToBytes() tai MsgWriter.WriteFile().MsgStorage, MsgStream ja MsgStorage.FindStream().MsgStorage.FindStream() ja MsgStorage.FindStorage() etsimään nimettyjä alayksiköitä..msg tiedostoja arkistointikäsikirjoista ja metatietojen tai liitteiden poimitus..msg -tiedostot ohjelmoidusti ja toimittaa ne Outlook-pohjaisille postitusjärjestelmille.MapiMessage.Create(subject, body), aseta SenderName, SenderEmailAddress ja HtmlBody.To, Cc ja Bcc vastaanottajat AddRecipient():n kautta sähköpostiosoitteella ja näyttönimellä.AddAttachment() tai rakenna MapiAttachment-objektit suoraan käyttäen Filename, MimeType, ContentId ja Data.message.Save() tai message.Save(stream) ja lataa uudelleen käyttäen 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äysimääräinen MapiMessage -objektti kautta MapiMessage.LoadFromEml(stream).MapiMessage takaisin MIME-muotoon käyttämällä message.SaveToEml() tai message.SaveToEml(stream)..eml - ja .msg -tiedostojen sekoitettu arkisto yhdelle muodolle..eml -asennukset testauksissa ja tarkistaa, että ne selviävät MSG-matkan ympäri ilman tietojen menetystä.Avaa Outlook MSG-tiedosto virrattaessa ja tulosta aihe ei tarvitse Microsoft Outlookia.
using System.IO;
using Aspose.Email.Foss.Msg;
using var stream = File.OpenRead("sample.msg");
var message = MapiMessage.FromStream(stream);
Console.WriteLine(message.Subject);
Rakenna täydellinen sähköposti lähettäjälle, vastaanottajalle ja liitteelle. Kirjoita se sitten 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);
Laita vakiotiedosto .eml ja tallenna se Outlook-tiedostoksi .msg sisäänrakennetulla MIME-parserilla.
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);