FAQ — Aspose.Email FOSS för .NET
Licensiering
Vilken licens använder Aspose.Email.Foss?
MIT-licens. Ingen licensnyckel krävs. Använd fritt i personliga, kommersiella och öppna källkodsprojekt.
Installation
Hur installerar jag Aspose.Email.Foss?
dotnet add package Aspose.Email.FossVilken .NET-version krävs?
.NET 8.0 eller senare. Biblioteket stöder inte .NET Framework eller .NET Standard.
Finns det inhemska beroenden?
Nej. Biblioteket är ren hanterad C# utan några inhemska beroenden. Det körs identiskt på
Windows, Linux, macOS, Docker och serverlösa miljöer.
Formatstöd
Vilka e‑postformat stöds?
| Format | Läsa | Skriva |
|---|---|---|
| MSG (Outlook) | ✓ | ✓ |
| CFB (Compound File Binary) | ✓ | ✓ |
| EML (MIME / RFC 5322) | ✓ | ✓ |
Kan jag läsa EML-filer?
Ja. Använd MapiMessage.LoadFromEml(stream) för att läsa in en standard .eml-fil i enMapiMessage. Den inbyggda MIME‑tolkaren hanterar vikta rubriker, base64‑innehåll och
multipart‑meddelanden.
Kan jag konvertera MSG till EML?
Ja. Anropa message.SaveToEml() för in-memory byte[]‑utdata, eller
message.SaveToEml(stream) för att skriva till en fil. Ämne, brödtext, HTML‑brödtext, avsändare,
mottagare och alla bilagor bevaras.
Stöds TNEF (winmail.dat)?
Nej. Endast de standardformaten MSG (CFB) och EML (MIME) stöds.
Stöds IMAP/SMTP/POP3?
Nej. Biblioteket hanterar MSG-filer direkt och inkluderar inte något nätverks-/protokollager.
API-användning
Hur laddar jag en MSG-fil?
using Aspose.Email.Foss.Msg;
using var stream = File.OpenRead("message.msg");
var message = MapiMessage.FromStream(stream);
Console.WriteLine(message.Subject);Hur skapar jag ett nytt meddelande?
var message = MapiMessage.Create("Subject", "Body");
message.SenderEmailAddress = "alice@example.com";
message.AddRecipient("bob@example.com", "Bob");
message.Save("output.msg");Hur lägger jag till bilagor?
// 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");Hur konverterar jag EML till MSG?
using var eml = File.OpenRead("message.eml");
var message = MapiMessage.LoadFromEml(eml);
message.Save("message.msg");Hur får jag åtkomst till den råa CFB‑strukturen?
using Aspose.Email.Foss.Cfb;
using var reader = CfbReader.FromFile("message.msg");
foreach (var entry in reader.IterChildren(CfbConstants.RootStreamId))
Console.WriteLine(entry.Name);Kända begränsningar
Finns det några oimplementerade metoder?
Inga avsiktligt oimplementerade stubbar finns i den aktuella versionen.
Finns stöd för kalender/bokning tillgängligt?
Biblioteket hanterar MSG‑filer generiskt. Kalender‑specifika egenskaper kan nås via SetProperty() / GetPropertyValue() med MAPI‑egenskaps‑ID:n från CommonMessagePropertyId, men det finns inget dedikerat kalender‑ eller mötes‑API.
Är trådsäkerhet garanterad?
Varje MapiMessage‑ och CfbReader‑instans är oberoende. Samtidig åtkomst till separata instanser från separata trådar är säker. Dela inte en enda instans över trådar utan extern synkronisering.