
مجموعهای متنوع از کلاینتها و پلتفرمهای ایمیل اغلب منجر به ایجاد فرمتهای مختلف ذخیرهسازی ایمیل میشود. از یک سو، این فرمتها میتوانند چالشی در پارس کردن محتوا باشند. از سوی دیگر، آنها در ذخیرهسازی دادهها یا بازیابی آن در صورت بروز خطا در سرویس وب ضروری هستند. در این مقاله، به بررسی هر یک از این فرمتها خواهیم پرداخت و نشان خواهیم داد که چگونه میتوان از Aspose.Email برای استخراج، فهرستسازی و بازیابی محتوای ایمیل در پنج فرمت اصلی فایل استفاده کرد.
API C# برای پردازش فایلهای ذخیرهسازی
برای پردازش فایلهای ذخیرهسازی، ما از یک API چندمنظوره استفاده خواهیم کرد که برای سادهسازی وظایف و تعاملات پیچیده مرتبط با ایمیل طراحی شده است و یک راهحل جامع برای مدیریت ایمیل ارائه میدهد. Aspose.Email برای .NET به توسعهدهندگان این امکان را میدهد که برنامههایی بسازند که بهصورت یکپارچه با دادههای ایمیل در فرمتهای مختلفی مانند PST، OST، MBOX، EML، MSG و غیره تعامل داشته باشند. با مجموعه ویژگیهای غنی و روشهای کاربرپسند، دستکاری، استخراج و مدیریت دادههای ایمیل ذخیرهشده در فایلها آسان و شهودی میشود. برای بهرهبرداری از قدرت API، DLL آن را دانلود کنید یا از NuGet با استفاده از دستور زیر نصب کنید:
PM> Install-Package Aspose.Email
پردازش فایلهای ذخیرهسازی از انواع مختلف
خواندن فایلهای PST (جدول ذخیرهسازی شخصی)
PST یک فرمت فایل است که توسط Microsoft Outlook برای ذخیره ایمیلها، مخاطبین، تقویمها و سایر دادهها استفاده میشود. Aspose.Email با ارائه روشهایی برای استخراج و بازیابی آیتمهایی مانند ایمیل، پیوستها و ساختار پوشهها، مدیریت فایل PST را ساده میکند. با استفاده از کتابخانه، توسعهدهندگان میتوانند بهصورت برنامهنویسی به محتوای PST دسترسی پیدا کنند، به جستجو برای آیتمهای خاص بپردازند و آنها را به فرمتهای مختلف صادر کنند. در نمونه کد با مراحل زیر، شما خواهید دید که چگونه فایلهای فرمت PST را بخوانید:
- برای شروع، فایل pst را با استفاده از روش FromFile کلاس PersonalStorage بارگذاری کنید.
- به پوشه “صندوق ورودی” درون PST با استفاده از روش GetSubfolder() بر روی ویژگی RootFolder شیء pst دسترسی پیدا کنید.
- از طریق هر پیام در پوشه با استفاده از روش EnumerateMessages() بر روی شیء پوشه تکرار کنید.
- پیام را با استفاده از روش ExtractMessage() بر روی شیء pst استخراج کنید و ویژگی EntryIdString هر شیء msgInfo را به آن پاس دهید.
- به محتوای پیام دسترسی پیدا کنید:
- موضوع پیام را با استفاده از ویژگی Subject شیء msg دریافت کنید.
- آدرس فرستنده پیام را با استفاده از ویژگی SenderEmailAddress شیء msg دریافت کنید.
- متن پیام را با استفاده از ویژگی Body شیء msg دریافت کنید.
خواندن فایلهای OST (جدول ذخیرهسازی آفلاین Outlook)
فایلهای OST بهعنوان یک کپی آفلاین از دادههای صندوق پستی از Microsoft Exchange عمل میکنند. Aspose.Email امکان استخراج دادهها از فایلهای OST را فراهم میکند و به توسعهدهندگان این امکان را میدهد که ایمیلها، پوشهها و پیوستها را بازیابی کنند. این ویژگی بهویژه زمانی مفید است که راهحلهای پشتیبانگیری ایجاد میشود یا دادهها بین پلتفرمهای مختلف مهاجرت میشود. مجموعه ویژگیها که در پردازش فایلهای OST استفاده میشود، مشابه مجموعهای است که برای PST استفاده میشود، بنابراین میتوانید از نمونه کد فوق با مشخص کردن مسیر صحیح به یک فایل OST استفاده کنید.
خواندن فایلهای OLM (آرشیو Outlook برای مک)
OLM فرمت ذخیرهسازی است که توسط Microsoft Outlook برای مک برای ذخیره ایمیلها، مخاطبین و سایر دادهها استفاده میشود. با Aspose.Email، توسعهدهندگان میتوانند محتوا را از فایلهای OLM استخراج کنند، از جمله ایمیلها و پیوستها. این قابلیت برای مهاجرت دادهها بین پلتفرمها یا ایجاد سیستمهای پشتیبانگیری ارزشمند است. نمونه کد و مراحل زیر به شما نشان میدهد که چگونه میتوان API را برای پارس کردن فایلهای Outlook برای مک استفاده کرد:
- یک نمونه از کلاس OlmStorage ایجاد کنید و فایل OLM را با استفاده از سازنده بارگذاری کنید.
- به پوشه “صندوق ورودی” درون OLM با استفاده از روش GetFolder() روی شیء olm دسترسی پیدا کنید و نام پوشه را بهعنوان “صندوق ورودی” وارد کنید و مشخص کنید که در صورت عدم وجود پوشه، آن را ایجاد کند.
- از طریق هر پیام در پوشه با استفاده از روش EnumerateMessages() بر روی شیء پوشه تکرار کنید.
- پیام را با استفاده از روش ExtractMapiMessage() بر روی شیء olm استخراج کنید و شیء msgInfo را به آن پاس دهید.
- به محتوای پیام دسترسی پیدا کنید:
- موضوع پیام را با استفاده از ویژگی Subject شیء msg دریافت کنید.
- آدرس فرستنده پیام را با استفاده از ویژگی SenderEmailAddress شیء msg دریافت کنید.
- متن پیام را با استفاده از ویژگی Body شیء msg دریافت کنید.
خواندن فایلهای MBOX (صندوق پستی)
MBOX فرمت رایجی برای ذخیره پیامهای ایمیل است. این فرمت توسط بسیاری از کلاینتها و پلتفرمهای ایمیل پشتیبانی میشود. Aspose.Email امکان استخراج و بازیابی ایمیلها و پیوستها از فایلهای MBOX را فراهم میکند و به توسعهدهندگان این امکان را میدهد که با دادههای ایمیل بهصورت برنامهنویسی کار کنند. سعی کنید از قطعه کد زیر برای پارس کردن فایلهای mbox استفاده کنید:
- فایل MBOX را با استفاده از روش CreateReader() کلاس MboxStorageReader با MboxLoadOptions بارگذاری کنید.
- از طریق هر پیام در mbox با استفاده از روش EnumerateMessageInfo() بر روی شیء mbox تکرار کنید.
- محتوای پیام را از mbox با استفاده از روش ExtractMessage() بر روی شیء mbox استخراج کنید و ویژگی EntryId و EmlLoadOptions را به آن پاس دهید.
- به محتوای پیام دسترسی پیدا کنید:
خواندن فایلهای TGZ (آرشیو فشرده Tar)
TGZ یک فرمت آرشیو فشرده است که اغلب برای ذخیرهسازی دادههای پشتیبان ایمیل در کلاینت ایمیل Zimbra استفاده میشود. Aspose.Email امکان استخراج محتوای ایمیل از فایلهای TGZ را فراهم میکند و دسترسی و دستکاری دادههای ایمیل موجود در این آرشیوها را ممکن میسازد. نمونه کد و مراحل زیر به شما نشان میدهد که چگونه میتوان فایلهای tgz را بخوانید:
- یک نمونه از کلاس TgzReader ایجاد کنید و فایل TGZ را با استفاده از سازنده بارگذاری کنید.
- از طریق هر آیتم در پوشه ‘صندوق ورودی’ با استفاده از روش ReadNextMessage() بر روی شیء پوشه تکرار کنید.
- محتوای پیام را از هر آیتم با استفاده از ویژگی CurrentMessage استخراج کنید.
- اقدامات مورد نظر را با محتوای پیام استخراجشده انجام دهید.
نتیجهگیری
در این مقاله، ما بررسی کردیم که چگونه میتوان فایلهای ذخیرهسازی از محبوبترین فرمتها را بهصورت برنامهنویسی در C# مدیریت کرد. نمونههای کد شهودی ما به شما نشان دادند که چگونه قابلیتهای اولیه را در پروژه خود پیادهسازی کنید. بارگذاری، فهرستسازی و دسترسی به محتوای فایلهای ذخیرهسازی اکنون با Aspose.Email برای .NET آسانتر است. API به شما یک روش یکپارچه برای ادغام عملکردهای مرتبط با ایمیل در برنامههای .NET خود ارائه میدهد. برای کسب اطلاعات بیشتر در مورد آنچه که کتابخانه میتواند به شما ارائه دهد، به مستندات ما مراجعه کنید. در صورت نیاز به کمک یا مشاوره، لطفاً با ما در انجمن پشتیبانی رایگان تماس بگیرید.