FAQ — Aspose.Email FOSS untuk .NET
Pelesenan
Apakah lesen yang digunakan oleh Aspose.Email.Foss?
Lesen MIT. Tiada kunci lesen diperlukan. Gunakan secara bebas dalam projek peribadi, komersial, dan sumber terbuka.
Pemasangan
Bagaimana saya memasang Aspose.Email.Foss?
dotnet add package Aspose.Email.FossVersi .NET apa yang diperlukan?
.NET 8.0 atau lebih baru. Pustaka ini tidak menyokong .NET Framework atau .NET Standard.
Adakah terdapat kebergantungan asli?
Tidak. Perpustakaan ini adalah C# yang diuruskan sepenuhnya tanpa kebergantungan asli. Ia berfungsi secara serupa pada Windows, Linux, macOS, Docker, dan persekitaran tanpa pelayan.
Sokongan Format
Format e-mel mana yang disokong?
| Format | Baca | Tulis |
|---|---|---|
| MSG (Outlook) | ✓ | ✓ |
| CFB (Compound File Binary) | ✓ | ✓ |
| EML (MIME / RFC 5322) | ✓ | ✓ |
Bolehkah saya membaca fail EML?
Ya. Gunakan MapiMessage.LoadFromEml(stream) untuk memuatkan fail .eml standard ke dalam MapiMessage. Pengurai MIME terbina dalam mengendalikan tajuk terlipat, kandungan base64, dan mesej berbilang bahagian.
Bolehkah saya menukar MSG kepada EML?
Ya. Panggil message.SaveToEml() untuk output byte[] dalam memori, atau
message.SaveToEml(stream) untuk menulis ke fail. Subjek, badan, badan HTML, penghantar,
penerima, dan semua lampiran dipelihara.
Adakah TNEF (winmail.dat) disokong?
Tidak. Hanya format MSG (CFB) standard dan EML (MIME) yang disokong.
Adakah IMAP/SMTP/POP3 disokong?
Tidak. Perpustakaan mengendalikan fail MSG secara langsung dan tidak termasuk sebarang lapisan rangkaian/protokol.
Penggunaan API
Bagaimana saya memuatkan fail MSG?
using Aspose.Email.Foss.Msg;
using var stream = File.OpenRead("message.msg");
var message = MapiMessage.FromStream(stream);
Console.WriteLine(message.Subject);Bagaimana saya membuat mesej baru?
var message = MapiMessage.Create("Subject", "Body");
message.SenderEmailAddress = "alice@example.com";
message.AddRecipient("bob@example.com", "Bob");
message.Save("output.msg");Bagaimana saya menambah lampiran?
// 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");Bagaimana saya menukar EML kepada MSG?
using var eml = File.OpenRead("message.eml");
var message = MapiMessage.LoadFromEml(eml);
message.Save("message.msg");Bagaimana saya mengakses struktur CFB mentah?
using Aspose.Email.Foss.Cfb;
using var reader = CfbReader.FromFile("message.msg");
foreach (var entry in reader.IterChildren(CfbConstants.RootStreamId))
Console.WriteLine(entry.Name);Keterbatasan yang Diketahui
Adakah terdapat kaedah yang belum dilaksanakan?
Tiada stub yang sengaja tidak dilaksanakan dalam versi semasa.
Adakah sokongan kalendar/temu janji tersedia?
Perpustakaan mengendalikan fail MSG secara umum. Sifat khusus kalendar boleh diakses melaluiSetProperty() / GetPropertyValue() dengan ID sifat MAPI dari CommonMessagePropertyId,
tetapi tiada API kalendar atau temujanji yang khusus.
Adakah keselamatan thread dijamin?
Setiap contoh MapiMessage dan CfbReader adalah bebas. Akses serentak kepada contoh berasingan dari benang berasingan adalah selamat. Jangan kongsikan satu contoh merentasi benang tanpa penyelarasan luaran.