1. Produkty
  2.   Aspose.Email
  3.   Aspose.Email FOSS for .NET

Aspose.Email FOSS for .NET

Odczytuj, twórz i przetwarzaj pliki Outlook MSG, kontenery CFB oraz wiadomości EML z .NET — darmowe i open-source, bez zależności od Microsoft Outlook.

Biblioteka Open-Source .NET dla plików MSG, CFB i EML

Aspose.Email FOSS dla .NET to biblioteka C# na licencji MIT, wolna od zależności, służąca do pracy z plikami Microsoft Outlook .msg, kontenerami Compound File Binary (CFB) oraz wiadomościami EML. Dodaj pojedynczy pakiet NuGet i od razu rozpocznij odczyt, tworzenie i przetwarzanie wiadomości e‑mail bez instalowania Microsoft Outlook ani żadnego własnościowego środowiska uruchomieniowego.

Biblioteka zapewnia dwa poziomy dostępu. Na niskim poziomie, CfbReader i CfbWriter dają pełną kontrolę nad binarnymi kontenerami CFB — umożliwiają przeglądanie wpisów katalogu, odczyt i zapis węzłów przechowywania oraz danych strumieni, a także inspekcję surowego układu sektorów. MsgReader i MsgWriter obsługują format MSG na bazie CFB, udostępniając strumienie właściwości MAPI, tabele odbiorców oraz podprzechowywania załączników. Na wysokim poziomie, MapiMessage pozwala tworzyć nowe wiadomości od podstaw, odczytywać temat, treść, nadawcę i odbiorców, zarządzać załącznikami oraz konwertować pomiędzy formatami MSG i EML przy użyciu wbudowanej implementacji MIME.

Biblioteka jest przeznaczona dla .NET 8.0 lub nowszego i nie ma natywnych zależności, co czyni ją odpowiednią dla systemów Windows, Linux, macOS, kontenerów Docker oraz funkcji serverless. Aby uzyskać dodatkowe funkcje i wsparcie komercyjne, zobacz Aspose.Email for .NET.

Pojemnik CFB Czytanie i zapisywanie

  • ** Otwórz pliki CFB:** Włóż istniejące kontenery CF B z ścieżki pliku, strumienia lub szeregu bajtów za pośrednictwem CfbReader.FromFile(), CfbReader.FromStream() lub new CfbReader(data).
  • ** Przejdź przez drzewo katalogu:** Iteruj zapisy, strumienie i dzieci za pomocą IterStorages(), IterStreams() , IterChildren() i IterTree().
  • Rozwiązanie ścieżek: Przechodź po nieszczepionych hierarchii pamięci z użyciem ResolvePath(names), aby znaleźć określony strumień według łańcucha nazw.
  • Wypisz pojemniki CFB: Zbuduj dokumenty CFb programowo za pomocą CfbDocument i serializacja do bajtów lub pliku za pośrednictwem CfbWriter.ToBytes() lub CfbWriter.WriteFile().
  • ** Dodaj pamięć i strumienie:** Przyłącz węzły CfbStorage i CfbStream do dowolnego wąza przechowywania przed serializacją.

W przypadku korzystania z dostępu CFB

  • ** Inspekcja pliku MSG:** CFB jest formatem kontenera dla plików Outlook .msg bezpośredni dostęp do CF B umożliwia inspekcję i naprawy sądowe.
  • Zastosowane formaty binarne: Wszelkie aplikacje używające CFB do przechowywania danych mogą być odczytywane lub zapisywane bez zależności COM.
  • ** Odzyskanie danych:** Przejdź przez całe drzewo katalogu i wyciągnij surowe bajty strumienia z uszkodzonych lub niestandardycznych plików CFB.
  • Binarne testy w obie strony: Serializacja dokumentu do bajtów i ponowne ładowanie go, aby zweryfikować serializację bez strat w automatycznych testach.

Plik MSG Czytanie i pisanie

  • ** Przeczytaj pliki MSG:** Otwórz pliky Outlook MS G za pomocą MsgReader.FromFile() lub MsgReader.FromStream() i uzyskaj dostęp do podstawowych strumieni właściwości MAPI, rekordów odbiorców oraz podmagazynowania załączników.
  • ** Napisz pliki MSG:** Wydaj pliky MS G z MsgDocument za pomocą MsgWriter.ToBytes() lub MsgWriter.WriteFile().
  • ** Dostęp do MAPI niskiego poziomu:** Odczytywanie strumieni właściwości najwyższego poziomów, nazwanych właściwości i danych załącznika za pośrednictwem MsgStorage, MsgStream oraz MsgStorage.FindStream().
  • Nawigacja w pamięci MSG: Do wyszukiwania nazwanych podwymiarów użyj MsgStorage.FindStream() i MsgStorage.FindStorage().

W jakich miejscach stosowane jest przetwarzanie MSG

  • Pipeline archiwalne e-mailowe: Pliki zbiorczo odczytywane .msg z katalogich archiwum i ekstrakcja metadanych lub załączników.
  • ** Narzędzia migracji:** Konwersja kolekcji MSG do standardowych formatów w celu ich importu do systemów innych niż Outlook.
  • Wykrycie prawne: Przeanalizować surowe strumienie właściwości MAPI, aby wydobyć wszystkie pola wiadomości w tym niestandardowe właściwość.
  • Automatyczne dostarczanie raportów: Zbudowanie plików .msg w sposób programowy i dostarczenie ich do systemów pocztowych opartych na programie Outlook.

API wiadomości wysokiego poziomu

  • Utwórz wiadomości: Zbuduj pełny e‑mail z MapiMessage.Create(subject, body), ustaw SenderName, SenderEmailAddress i HtmlBody.
  • Dodaj odbiorców: Dołącz odbiorców To, Cc i Bcc za pomocą AddRecipient() z adresem e‑mail i nazwą wyświetlaną.
  • Zarządzaj załącznikami: Dodaj załączniki plikowe i strumieniowe przy użyciu AddAttachment() lub utwórz obiekty MapiAttachment bezpośrednio z Filename, MimeType, ContentId i Data.
  • Zapisz i wczytaj ponownie: Serializuj przy użyciu message.Save() lub message.Save(stream) oraz wczytaj ponownie przy użyciu MapiMessage.FromFile() lub MapiMessage.FromStream().

Gdzie używa się API wysokiego poziomu

  • Automatyczne generowanie e-maili: Generuj tysiące spersonalizowanych plików MSG z rekordów danych w zadaniach wsadowych.
  • Tworzenie danych testowych: Twórz sprawdzone pliki MSG o przewidywalnej zawartości dla zestawów testów integracyjnych.
  • Ekstrakcja załączników: Wczytaj plik MSG, iteruj message.Attachments i zapisz każdy attachment.Data na dysku.
  • Inspekcja właściwości: Uzyskaj dostęp do message.Subject, message.Body, message.SenderEmailAddress i message.Recipients bez automatyzacji COM.

Konwersja EML i MIME

  • Load EML into MapiMessage: Parse standard .eml file (RFC 5322 / MIME) w pełny obiekt MapiMessage za pośrednictwem MapiMessage.LoadFromEml(stream).
  • Zapisz MapiMessage jako EML: Seriizacja MapiMessage z powrotem do formatu MIME za pomocą message.SaveToEml() lub message.SaveToEml(stream).
  • Fidelity w obiegu: Subjekt, ciało, HTML ciała, nadawcy, odbiorców i załączników są zachowane przez EML → MSG → EMl podróże.
  • ** Brak zewnętrznego analizatora MIME:** Analiza EML jest wdrażana natywnie w bibliotece nie wymaga zależności od systemu System.Net.Mail.

W jakich miejscach stosowana jest konwersja EML

  • Przechodzenie formatu: Odbierać wiadomości e-mail jako EML z serwerów poczty i konwersji do MSG dla pamięci kompatybilnej Outlook.
  • ** Zgodność ze standardami:** Konwersja zastrzeżonych plików MSG do standardowego MIME w celu dostarczenia dowolnej przesyłki pocztowej.
  • Normalizacja archiwalna: Normalizacji mieszanego archiwum plików .eml i .msg do jednego formatu.
  • Przebiegi pracy badawczych: Wygenerowanie w testach urządzeń .eml i weryfikacja, czy przetrwają one podróż z MSG bez utraty danych.

Przeczytać temat z pliku MSG

Otwórz plik Outlook MSG z strumienia i wydrukuj temat nie wymagane 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);

Tworzenie i zapisywanie wiadomości MSG

Zbuduj kompletny e-mail z nadawcą, odbiorcą i załącznikiem, a następnie napisz go do pliku MSG.

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

Konwersja EML na MSG

Włóż standardowy plik .eml i zapisz go jako pliku Outlook .msg za pomocą wbudowanego przeglądarka 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);
  

Zasoby Wsparcia i Nauki

 Polski