Įvadas

Aspose.Email FOSS for .NET yra nemokama, atviro kodo C# biblioteka, leidžianti tiesiogiai .NET programoje dirbti su Outlook MSG failais, Compound File Binary (CFB) konteineriais ir EML žinutėmis — be Microsoft Outlook, be COM tarpinės programos ir be reikiamų natūralių bibliotekų. Platinkite ją kaip vieną NuGet paketą, ir ji veikia identiškai Windows, Linux, macOS, Docker konteineriuose ir serverless funkcijose.

Biblioteka sprendžia pasikartojančią problemą įmonių ir integracijos darbuose: Outlook .msg failus kuria milijonai verslo vartotojų, tačiau jų analizavimas be Outlook istoriniu požiūriu reikalavo COM automatizacijos arba brangių komercinių bibliotekų. Aspose.Email FOSS for .NET suteikia pilną skaitymo/rašymo palaikymą MSG, pagrindiniam CFB binariniam konteineriui ir EML/MIME formatui — viskas pagal MIT licenciją be naudojimo apribojimų.

Nesvarbu, ar kuriate el. pašto archyvavimo konvejerį, migracijos įrankį, priedų išskaitiklį,
ar automatizuotą MSG generatorių, ši biblioteka suteikia tiesioginę, žemo lygio prieigą prie kiekvieno el. pašto formato baito kartu su aukšto lygio MapiMessage API, leidžiančiu pradėti per kelias minutes.


Pagrindinės funkcijos

Skaityti Outlook MSG failus

Atverkite bet kurį .msg failą iš kelio arba srauto naudodami MsgReader.FromFile() arba MsgReader.FromStream().
Gaukite prieigą prie viso MAPI savybių srauto, gavėjų įrašų ir priedų sub‑saugyklų prie
žalių baitų lygio per MsgStorage ir 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);

Kurti MSG failus nuo nulio

Sukurkite pilną el. laišką programiškai naudodami MapiMessage.Create(). Nustatykite temą, paprasto teksto kūną, HTML kūną, siuntėjo vardą, siuntėjo el. pašto adresą, pristatymo laiką ir internetinį pranešimo ID, tada pridėkite gavėjus su AddRecipient() ir priedus su AddAttachment(). Serializuokite su message.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);

Konvertuoti EML į MSG (ir atgal)

Įkelkite standartinį RFC 5322 .eml failą į MapiMessage su MapiMessage.LoadFromEml(), tuomet išsaugokite jį kaip Outlook .msg failą — arba atvirkščiai su MapiMessage.SaveToEml(). Įmontuotas MIME analizatorius išlaiko temą, turinį, HTML turinį, siuntėją, gavėjus ir priedus visų EML ↔ MSG kelionių metu.

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);

Žemo lygio CFB konteinerio prieiga

Outlook MSG failai yra sukurti naudojant Compound File Binary (CFB) formatą — hierarchinį dvejetainį konteinerį, panašų į failų sistemą. CfbReader atskleidžia visą katalogų medį: peržvelkite saugyklas ir srautus su IterStorages(), IterStreams() ir IterChildren(), naršykite iki konkrečių įrašų pagal kelią su ResolvePath() ir skaitykite neapdorotus srauto baitus su GetStreamData().

CfbWriter leidžia jums sukurti ir serializuoti CFB dokumentą nuo nulio. Sukurkite CfbDocument, pridėkite CfbStorage ir CfbStream mazgus ir iškvieskite CfbWriter.ToBytes() arba CfbWriter.WriteFile(), kad serializuotumėte.

MAPI savybės ir priedų prieiga

MapiPropertyCollection klasė suteikia tipizuotą MAPI savybių prieigą bet kuriam MSG arba saugojimo objektui: naudokite Get(), Set(), Add() ir Remove() su standartinėmis CommonMessagePropertyId arba PropertyTypeCode enum reikšmėmis. Pasiekite priedo metaduomenis ir binarinius duomenis per MapiAttachment savybes: Filename, MimeType, ContentId ir Data.


Greitas pradžia

Įdiekite paketą:

dotnet add package Aspose.Email.Foss

Nuskaityti temą iš MSG failo:

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})");

Palaikomi formatai

FormatasPlėtinysSkaitytiRašyti
Sudėtinis binarinis failas.cfb
Outlook žinutė.msg
MIME / EML.eml

Atviro kodo ir licencijavimas

Aspose.Email FOSS for .NET išleidžiamas pagal MIT licenciją. Jūs galite jį laisvai naudoti asmeniniuose, komerciniuose ir atviro kodo projektuose be jokių naudojimo apribojimų. Šaltinio kodas yra prieinamas adresu github.com/aspose-email-foss/Aspose.Email-FOSS-for-.Net.


Pradžia