Întrebări frecvente — Aspose.Email FOSS pentru .NET
Licențiere
Ce licență folosește Aspose.Email.Foss?
Licență MIT. Nu este necesară nicio cheie de licență. Utilizați liber în proiecte personale, comerciale și open‑source.
Instalare
Cum instalez Aspose.Email.Foss?
dotnet add package Aspose.Email.FossCe versiune .NET este necesară?
.NET 8.0 sau ulterior. Biblioteca nu suportă .NET Framework sau .NET Standard.
Există dependențe native?
Nu. Biblioteca este pur gestionată C# fără dependențe native. Rulează identic pe Windows, Linux, macOS, Docker și în medii fără server.
Suport pentru formate
Ce formate de e‑mail sunt acceptate?
| Format | Citire | Scriere |
|---|---|---|
| MSG (Outlook) | ✓ | ✓ |
| CFB (Compound File Binary) | ✓ | ✓ |
| EML (MIME / RFC 5322) | ✓ | ✓ |
Pot citi fișiere EML?
Da. Utilizați MapiMessage.LoadFromEml(stream) pentru a încărca un fișier standard .eml într-un
MapiMessage. Parserul MIME încorporat gestionează antetele pliate, conținutul base64 și
mesajele multipart.
Pot converti MSG în EML?
Da. Apelaţi message.SaveToEml() pentru ieşire byte[] în memorie, sau
message.SaveToEml(stream) pentru a scrie într-un fişier. Subiectul, corpul, corpul HTML, expeditorul,
destinatarii şi toate ataşamentele sunt păstrate.
Este TNEF (winmail.dat) acceptat?
Nu. Sunt acceptate doar formatele standard MSG (CFB) și EML (MIME).
Este IMAP/SMTP/POP3 suportat?
Nu. Biblioteca gestionează fișierele MSG direct și nu include niciun strat de rețea/protocol.
Utilizare API
Cum pot încărca un fișier MSG?
using Aspose.Email.Foss.Msg;
using var stream = File.OpenRead("message.msg");
var message = MapiMessage.FromStream(stream);
Console.WriteLine(message.Subject);Cum creez un mesaj nou?
var message = MapiMessage.Create("Subject", "Body");
message.SenderEmailAddress = "alice@example.com";
message.AddRecipient("bob@example.com", "Bob");
message.Save("output.msg");Cum adaug atașamente?
// From byte array
message.AddAttachment("file.pdf", pdfBytes, "application/pdf");
// From stream
using var stream = File.OpenRead("photo.png");
message.AddAttachment("photo.png", stream, "image/png");Cum pot converti EML în MSG?
using var eml = File.OpenRead("message.eml");
var message = MapiMessage.LoadFromEml(eml);
message.Save("message.msg");Cum pot accesa structura CFB brută?
using Aspose.Email.Foss.Cfb;
using var reader = CfbReader.FromFile("message.msg");
foreach (var entry in reader.IterChildren(CfbConstants.RootStreamId))
Console.WriteLine(entry.Name);Limitări cunoscute
Există metode neimplementate?
Nu există stub-uri neimplementate intenționat în versiunea curentă.
Este disponibil suportul pentru calendar/programare?
Biblioteca gestionează fișierele MSG în mod generic. Proprietățile specifice calendarului pot fi accesate prin SetProperty() / GetPropertyValue() cu ID-urile de proprietate MAPI din CommonMessagePropertyId, dar nu există un API dedicat calendarului sau programărilor.
Este garantată siguranța firelor?
Fiecare instanță MapiMessage și CfbReader este independentă. Accesul concurent la instanțe separate din fire de execuție diferite este sigur. Nu partajați o singură instanță între firele de execuție fără sincronizare externă.