Aspose.Email FOSS za .NET je MIT-licencirana, bez zavisnosti C# biblioteka za rad sa Microsoft Outlook .msg fajlovima, Compound File Binary (CFB) kontejnerima i EML porukama. Dodajte jedan NuGet paket i odmah počnite da čitate, kreirate i obrađujete email poruke bez instalacije Microsoft Outlook-a ili bilo kog vlasničkog runtime-a.
Biblioteka pruža dva nivoa pristupa. Na niskom nivou, CfbReader i CfbWriter daju potpunu kontrolu nad CFB binarnim kontejnerima — pretražuju direktorijumske unose, čitaju i pišu čvorove skladišta i podatke tokova, i pregledaju sirovi raspored sektora. MsgReader i MsgWriter obrađuju MSG format na vrhu CFB-a, izlažući MAPI tokove svojstava, tabele primalaca i pod-skladišta priloga. Na visokom nivou, MapiMessage vam omogućava da kreirate nove poruke od nule, čitate temu, telo, pošiljaoca i primaoce, upravljate prilozima i konvertujete između MSG i EML formata putem ugrađene MIME implementacije.
Biblioteka cilja .NET 8.0 ili noviji i nema nativne zavisnosti, što je čini pogodnom za Windows, Linux, macOS, Docker kontejnere i serverless funkcije. Za dodatne funkcionalnosti i komercijalnu podršku, pogledajte Aspose.Email for .NET.
CfbReader.FromFile(), CfbReader.FromStream() или new CfbReader(data).IterStorages(), IterStreams() , IterChildren() и IterTree().ResolvePath(names) да бисте пронашли одређени ток по ланцу имена.CfbDocument и серијализовати у бајтове или датотеке преко CfbWriter.ToBytes() или CfbWriter.WriteFile().CfbStorage и CfbStream чвореви на било који чвор пре серијализације..msg фајлове директни приступ ЦFB омогућава судску инспекцију и поправку.MsgReader.FromFile() или MsgReader.FromStream() и приступи основним MAPI струјама својства, записима примаоца и под-храњива додатка.MsgDocument са MsgWriter.ToBytes() или MsgWriter.WriteFile().MsgStorage, MsgStream и MsgStorage.FindStream().MsgStorage.FindStream() и MsgStorage.FindStorage() да бисте пронашли именом под-уносе..msg из архивских директорија и екстракција метадата или додатака..msg датотеке програмски и испорачити их поштума на бази Outlook-а.MapiMessage.Create(subject, body), постављање SenderName, SenderEmailAddress и HtmlBody.To, Cc и Bcc приматеље преко AddRecipient() са адресом е-поште и именом за приказивање.AddAttachment() или конструисање MapiAttachment објеката директно саFilename, MimeType , ContentId и Data.message.Save() или message.Save(stream) и поново пуштање саMapiMessage.FromFile() или MapiMessage.FromStream().message.Attachments и сачувајте сваки attachment.Data на диск.message.Subject, message.Body , message.SenderEmailAddress и message.Recipients без COM аутоматизације..eml (RFC 5322 / MIME) у пуни MapiMessage објекат преко MapiMessage.LoadFromEml(stream).MapiMessage назад у МИМ формат са message.SaveToEml() или message.SaveToEml(stream)..eml и .msg датотеки у један формат..eml опрема у тестирањима и потврђивање да они преживљавају МСГ повратни пут без губитка података.Отвори Outlook MSG датотеку из струје и штампај предмет не захтева 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);
Изградите комплетан е-пошта са послатељем, примаоцем и додаткама, а затим га напишите у МСГ датотеку.
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);
Покушајте да преузмете стандардну файл .eml и сачувате га као Outlook .msg файла користећи уграђени MIME парзер.
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);