سوالات متداول — Aspose.Email FOSS برای .NET

سوالات متداول — 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 مستقل است. دسترسی همزمان به نمونه‌های جداگانه از رشته‌های جداگانه ایمن است. بدون همگام‌سازی خارجی، یک نمونه را بین رشته‌ها به اشتراک نگذارید.

 فارسی