سوالات متداول — Aspose.Email FOSS برای .NET
مجوزدهی
Aspose.Email.Foss از چه مجوزی استفاده میکند؟
مجوز MIT. نیازی به کلید مجوز نیست. بهصورت آزاد در پروژههای شخصی، تجاری و منبع باز استفاده کنید.
نصب
چگونه Aspose.Email.Foss را نصب کنم؟
dotnet add package Aspose.Email.Fossکدام نسخه .NET مورد نیاز است؟
.NET 8.0 یا بالاتر. این کتابخانه از .NET Framework یا .NET Standard پشتیبانی نمیکند.
آیا وابستگیهای بومی وجود دارند؟
نه. کتابخانه کاملاً مدیریتشده C# است و هیچ وابستگی بومی ندارد. بهصورت یکسان بر روی Windows، Linux، macOS، Docker و محیطهای بدون سرور اجرا میشود.
پشتیبانی از فرمت
کدام فرمتهای ایمیل پشتیبانی میشوند؟
| قالب | خواندن | نوشتن |
|---|---|---|
| MSG (Outlook) | ✓ | ✓ |
| CFB (Compound File Binary) | ✓ | ✓ |
| EML (MIME / RFC 5322) | ✓ | ✓ |
آیا میتوانم فایلهای EML را بخوانم؟
بله. از MapiMessage.LoadFromEml(stream) برای بارگذاری یک فایل .eml استاندارد در یکMapiMessage استفاده کنید. تجزیهکنندهٔ داخلی MIME سرفصلهای تا شده، محتوای base64 و
پیامهای چندبخشی را مدیریت میکند.
آیا میتوانم MSG را به EML تبدیل کنم؟
بله. برای خروجی byte[] در حافظه، message.SaveToEml() را فراخوانی کنید، یاmessage.SaveToEml(stream) را برای نوشتن به یک فایل استفاده کنید. موضوع، متن، متن HTML، فرستنده،
گیرندگان و تمام پیوستها حفظ میشوند.
آیا TNEF (winmail.dat) پشتیبانی میشود؟
نه. فقط فرمتهای استاندارد MSG (CFB) و EML (MIME) پشتیبانی میشوند.
آیا IMAP/SMTP/POP3 پشتیبانی میشود؟
نه. کتابخانه فایلهای MSG را بهصورت مستقیم پردازش میکند و شامل هیچ لایهٔ شبکه/پروتکل نیست.
استفاده از API
چگونه یک فایل MSG را بارگذاری کنم؟
using Aspose.Email.Foss.Msg;
using var stream = File.OpenRead("message.msg");
var message = MapiMessage.FromStream(stream);
Console.WriteLine(message.Subject);چگونه یک پیام جدید ایجاد کنم؟
var message = MapiMessage.Create("Subject", "Body");
message.SenderEmailAddress = "alice@example.com";
message.AddRecipient("bob@example.com", "Bob");
message.Save("output.msg");چگونه پیوستها را اضافه کنم؟
// 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");چگونه EML را به MSG تبدیل کنم؟
using var eml = File.OpenRead("message.eml");
var message = MapiMessage.LoadFromEml(eml);
message.Save("message.msg");چگونه میتوانم به ساختار خام CFB دسترسی پیدا کنم؟
using Aspose.Email.Foss.Cfb;
using var reader = CfbReader.FromFile("message.msg");
foreach (var entry in reader.IterChildren(CfbConstants.RootStreamId))
Console.WriteLine(entry.Name);محدودیتهای شناختهشده
آیا متدهای پیادهسازینشدهای وجود دارند؟
در نسخه فعلی هیچ توابع جایگزین عمدی که پیادهسازی نشده وجود ندارد.
آیا پشتیبانی از تقویم/وقت ملاقات موجود است؟
کتابخانه فایلهای MSG را بهصورت کلی مدیریت میکند. ویژگیهای خاص تقویم میتوانند از طریقSetProperty() / GetPropertyValue() با شناسههای ویژگی MAPI از CommonMessagePropertyId دسترسی پیدا کنند،
اما API اختصاصی برای تقویم یا قرار ملاقات وجود ندارد.
آیا ایمنی رشتهها تضمین شده است؟
هر نمونه MapiMessage و CfbReader مستقل است. دسترسی همزمان به نمونههای جداگانه از رشتههای جداگانه ایمن است. بدون همگامسازی خارجی، یک نمونه را بین رشتهها به اشتراک نگذارید.