Aspose.Email FOSS برای .NET یک کتابخانه C# با مجوز MIT، بدون وابستگی برای کار با فایلهای Microsoft Outlook .msg، کانتینرهای Compound File Binary (CFB) و پیامهای EML است. یک بسته NuGet اضافه کنید و بلافاصله شروع به خواندن، ایجاد و پردازش پیامهای ایمیل کنید بدون اینکه Microsoft Outlook یا هر زماناجرای مالکیتی نصب کنید.
کتابخانه دو سطح دسترسی ارائه میدهد. در سطح پایین، CfbReader و CfbWriter کنترل کامل بر کانتینرهای باینری CFB را فراهم میکنند — مرور ورودیهای دایرکتوری، خواندن و نوشتن گرههای ذخیرهسازی و دادههای جریان، و بررسی چیدمان خام سکتورها. MsgReader و MsgWriter فرمت MSG را بر روی CFB مدیریت میکنند و جریانهای ویژگی MAPI، جداول دریافتکنندگان و زیرذخیرهسازیهای پیوست را در دسترس میگذارند. در سطح بالا، MapiMessage به شما امکان میدهد پیامهای جدید را از ابتدا ایجاد کنید، موضوع، بدنه، فرستنده و دریافتکنندگان را بخوانید، پیوستها را مدیریت کنید و بین فرمتهای MSG و EML از طریق پیادهسازی داخلی MIME تبدیل کنید.
کتابخانه هدف .NET 8.0 یا بالاتر است و هیچ وابستگی بومی ندارد، بنابراین برای Windows، Linux، macOS، کانتینرهای Docker و توابع بدون سرور مناسب است. برای ویژگیهای اضافی و پشتیبانی تجاری، به Aspose.Email for .NET مراجعه کنید.
CfbReader.FromFile()، CfbReader.FromStream() یا new CfbReader(data).IterStorages()، IterStreams()، IterChildren() و IterTree().ResolvePath(names) برای یافتن یک جریان خاص بر اساس زنجیره نام.CfbDocument و سریالسازی به بایتها یا فایل از طریق CfbWriter.ToBytes() یا CfbWriter.WriteFile().CfbStorage و CfbStream به هر گره ذخیرهسازی قبل از سریالسازی..msg است. دسترسی مستقیم به CF B امکان بازرس و تعمیرات قانونی را فراهم می کند.MsgReader.FromFile() یا MsgReader.FromStream() باز کنید و به جریان ویژگی MAPI زیربنایی، سوابق گیرنده و ذخیره سازی فرعی ضمیمه دسترسی پیدا کنید.MsgDocument با MsgWriter.ToBytes() یا MsgWriter.WriteFile() فایل ها را تولید کنید.MsgStorage ، MsgStream و MsgStorage.FindStream() بخوانید.MsgStorage.FindStream() و MsgStorage.FindStorage() استفاده کنید..msg با خواندن انبوه از دایرکتوری آرشیف و استخراج متاداتا یا ضمیمه ها..msg را به صورت برنامه ای بسازید و آنها را در سیستم های ایمیل مبتنی بر Outlook تحویل دهید.MapiMessage.Create(subject, body) بسازید، تنظیمات SenderName ، SenderEmailAddress و HtmlBody. را انتخاب کنید.To، Cc و Bcc را از طریق AddRecipient() با آدرس ایمیل و نام نمایش متصل کنید.AddAttachment() یا ساخت اشیاء MapiAttachment مستقیماً با استفاده از Filename، MimeType ، ContentId و Data.message.Save() یا message.Save(stream) سریالیزه کنید و باMapiMessage.FromFile() و MapiMessage.FromStream() بارگذاری مجدد کنید.message.Attachments را تکرار کنید و هر attachment.Data را به دیسک ذخیره کنید.message.Subject، message.Body, message.SenderEmailAddress و message.Recipients بدون اتوماسیون COM..eml (RFC 5322 / MIME) را با استفاده از MapiMessage.LoadFromEml(stream) در یک شیء کامل MapiMessage تجزیه و تحلیل کنید.MapiMessage را با message.SaveToEml() یا message.SaveToEml(stream) دوباره به قالب MIME سریال سازی کنید..eml و .msg را به یک فرمت واحد تعدیلی کنید..eml در آزمایش ها و تأیید آنها از سفر MSG بدون از دست دادن داده زنده می مانند.یک فایل MSG Outlook را از یک جریان باز کنید و موضوع Microsoft Outlook مورد نیاز نیست چاپ کنید.
using System.IO;
using Aspose.Email.Foss.Msg;
using var stream = File.OpenRead("sample.msg");
var message = MapiMessage.FromStream(stream);
Console.WriteLine(message.Subject);
یک ایمیل کامل با فرستنده، گیرنده و ضمیمه بسازید سپس آن را به فایل MSG بنویسید.
using System.IO;
using Aspose.Email.Foss.Msg;
var message = MapiMessage.Create("Hello", "Body");
message.SenderName = "Alice";
message.SenderEmailAddress = "alice@example.com";
message.AddRecipient("bob@example.com", "Bob");
using var attachmentStream = new MemoryStream("abc"u8.ToArray());
message.AddAttachment("note.txt", attachmentStream, "text/plain");
using var output = File.Create("hello.msg");
message.Save(output);
یک فایل استاندارد .eml را بارگیری کنید و آن را به عنوان Outlook .msg با استفاده از تجزیه کننده MIME داخلی ذخیره کنید.
using System.IO;
using Aspose.Email.Foss.Msg;
using var input = File.OpenRead("message.eml");
var message = MapiMessage.LoadFromEml(input);
using var msgOutput = File.Create("message.msg");
message.Save(msgOutput);
using var emlOutput = File.Create("roundtrip.eml");
message.SaveToEml(emlOutput);