
Microsoft Outlook و سایر مشتریان ایمیل محبوب از EML(استاندارد MIME RFC 822) به عنوان یک قالب استاندارد استفاده می کنند. EML مخفف نامه الکترونیکی یا ایمیل است. به طور مشابه، یک پسوند فایل برای یک پیام ایمیل ذخیره شده در یک فایل در پروتکل فرمت پیام اینترنتی برای پیام های پست الکترونیکی است. فایلهای EML معمولاً حاوی متن ASCII ساده برای متن اصلی پیام، سرصفحهها و لینکها و پیوستها هستند. با این حال، یک تهدید مرتبط با فرمت EML وجود دارد این است که میتواند یک ایمیل فیشینگ باشد و پیوست میتواند یکی از این موارد را داشته باشد: اگر پیوست را باز کنید، دستگاه شما را با بدافزار آلوده کنید.
علاوه بر این، اگر ما یک کپی آفلاین از این فایل ها را ذخیره کنیم، بدافزار به راحتی می تواند آنها را تحت تأثیر قرار دهد و داده ها از بین می روند. همچنین برای باز کردن فایل های EML به یک برنامه پشتیبانی شده (Microsoft Outlook 365، Microsoft Windows Mail، Mozilla Thunderbird و غیره) نیاز داریم. بنابراین یک اقدام پیشگیرانه می تواند تبدیل آن به فرمت MHT باشد.
API پردازش ایمیل رایگان
Aspose.Email Cloud API برنده جوایز ما است که توانایی ایجاد، دستکاری و تبدیل فرمت های ایمیل محبوب را به فرمت های پشتیبانی شده دیگر ارائه می دهد. بنابراین راه حل مدیریت ایمیل مبتنی بر Cloud خود را ایجاد کنید که از OAuth پشتیبانی می کند و پیام های ایمیل ساده یا MIME را با یا بدون پیوست ارسال کنید. دسترسی به API در هر پلتفرمی از جمله ویندوز، لینوکس، macOS، و در هر نوع برنامه ای مانند دسکتاپ، موبایل، وب، هیبریدی و غیره.
به منظور استفاده مستقیم از API در یک زبان برنامه نویسی، لطفاً از Cloud SDK مخصوص زبان ما استفاده کنید که در اطراف Cloud SDK قرار دارد. در این مقاله قصد داریم بر روی تبدیل فایل های EML به فرمت MHT با استفاده از Aspose.Email Cloud SDK for .NET تمرکز کنیم. برای استفاده از SDK، باید یکی از فریمورک های .NET پشتیبانی شده (یا سازگار با پشتیبانی شده) را داشته باشید:
- NETFramework 2.0
- NETFramework 4.5.2
- NETStandard 2.0
- MonoAndroid 6.0
- Xamarin.iOS 1.0
- Xamarin.Mac 2.0
نصب و راه اندازی
برای استفاده از Cloud SDK، اولین قدم نصب آن است. برای دانلود در NuGet و GitHub در دسترس است. لطفاً دستور زیر را در پنجره ترمینال اجرا کنید تا نصب NuGet انجام شود:
nuget install Aspose.Email-Cloud
هنگام استفاده از .NET CLI:
dotnet add package Aspose.Email-Cloud
اگر از ویژوال استودیو استفاده می کنید، می توانید بسته را با استفاده از کنسول مدیریت بسته نیز نصب کنید. لطفا دستور زیر را اجرا کنید:
PM> Install-Package Aspose.Email-Cloud

Image 1:- Aspose.Words NuGet package installed.
NuGet Package Manager – Visual Studio
ساده ترین روش دیگر نصب SDK از طریق NuGet Package Manager در Visual Studio IDE است.
- Solution Explorer را باز کنید.
- پروژه را گسترش دهید و روی پوشه Packages در راه حل خود کلیک راست کنید.
- گزینه Manage NuGet Packages… را انتخاب کنید
- روی تب Browse کلیک کنید و “Aspose.Email-Cloud” را جستجو کنید.
- روی بسته Aspose.Email-Cloud کلیک کنید، نسخه مناسب را در برگه سمت راست انتخاب کنید و روی دکمه Add Package کلیک کنید.

Image 2:- Aspose.Words Package in NuGet Package Manager.
اشتراک حساب ابری
API های ما فقط برای افراد مجاز قابل دسترسی است زیرا داده های ذخیره شده در فضای ذخیره سازی ابری از طریق Cloud API قابل دسترسی هستند. اشتراک رایگان است و نیازی به جزئیات پرداخت اولیه نیست. تا 150 عملیات پردازش سند رایگان را انجام دهید. بنابراین هنگامی که از قابلیتهای API راضی هستید، میتوانید اشتراک مجوزی را انتخاب کنید که میتواند کمتر از 0.005 دلار / تماس API باشد. برای جزئیات بیشتر، لطفاً به قیمت مراجعه کنید.
اکنون با مراجعه به Aspose.Cloud dashboard به ایجاد حساب ادامه دهید. هیچ کارت اعتباری یا سایر جزئیات پرداخت مورد نیاز نیست. اگر حساب GitHub یا Google دارید، به سادگی ثبت نام کنید یا بر روی دکمه [ایجاد یک حساب جدید] کلیک کنید و اطلاعات مورد نیاز را ارائه دهید. اکنون با استفاده از اعتبارنامه وارد داشبورد شوید و بخش Applications را از داشبورد گسترش دهید و به سمت پایین به سمت قسمت Client Credentials حرکت کنید تا Client ID و Client Secret را ببینید.

تصویر 3: - اعتبار مشتری در داشبورد Aspose.Cloud.
EML به MHT در C#
لطفاً مراحل زیر را برای تبدیل فایل EML به فرمت MHT با استفاده از C#.NET دنبال کنید.
- اولین مرحله ایجاد یک شی از کلاس EmailCloud با ارسال اطلاعات ClientID و Client Secret به عنوان آرگومان است.
- در مرحله دوم، فایل ایمیل منبع را در نمونه File.OpenRead بخوانید
- ثالثاً، یک نمونه از EmailConvertRequest ایجاد کنید در حالی که فرمت فایل ورودی، فرمت فایل حاصل و جریان شی که فایل EML ورودی را در خود نگه می دارد، ارسال کنید.
- اکنون متد Email.Convert(…) را برای شروع عملیات تبدیل فراخوانی کنید
- در نهایت، متد سفارشی را فراخوانی کنید تا فایل حاصل را با استفاده از نمونه File.Create در درایو محلی ذخیره کنید
// برای نمونه های کامل و فایل های داده لطفا به ادامه مطلب بروید
https://github.com/aspose-email-cloud/aspose-email-cloud-dotnet
// اعتبار مشتری را از https://dashboard.aspose.cloud/ دریافت کنید
string clientSecret = "d757548a9f2558c39c2feebdf85b4c44";
string clientID = "4db2f826-bf9c-42e7-8b2a-8cbca2d15553";
// یک نمونه از EmailCloud Api ایجاد کنید
var emailApi = new EmailCloud(clientSecret, clientID);
// نام فایل EML منبع
string name = "sample.eml";
// نام فایل MHT حاصل
string resultantFile = "converted.mht";
// فرمت فایل ایمیل ورودی
string fromFormat = "eml";
// فرمت فایل حاصل
string toFormat = "Mhtml";
try
{
// منبع EML را برای جریان دادن شیء بخوانید
using (var file = System.IO.File.OpenRead(@"C:\Users\shahbnay\Downloads\" + name))
{
// ایجاد نمونه درخواست EmailConvert برای عبور ورودی، فرمت های خروجی و جریان فایل
var convertRequest = new EmailConvertRequest(fromFormat, toFormat, file);
// عملیات تبدیل را انجام دهید
var response = emailApi.Email.Convert(convertRequest);
// پیام موفقیت چاپ در صورت موفقیت آمیز بودن تبدیل
if (response != null && response.Equals("OK"))
{
// پیام موفقیت را چاپ کنید
Console.WriteLine("Successfully converted EML to MHT !");
Console.ReadKey();
}
// جریان فایل حاصل را در درایو محلی ذخیره کنید
saveToDisk(response, @"C:\Users\shahbnay\Downloads\" + resultantFile);
}
}catch (Exception ex)
{
// استثنا را در کنسول چاپ کنید
Console.WriteLine("error:" + ex.Message + "\n" + ex.StackTrace);
}
// روش سفارشی برای ذخیره خروجی در درایو سیستم
static void saveToDisk(Stream responseStream, String resultantFile)
{
var fileStream = File.Create(resultantFile);
responseStream.Seek(0, SeekOrigin.Begin);
responseStream.CopyTo(fileStream);
fileStream.Close();
}

تصویر 4: - پیش نمایش تبدیل EML به MHT.
فایل های استفاده شده در مثال بالا را می توان از sample.eml و converted.mht دانلود کرد.
تبدیل EML به MHT با استفاده از cURL
از آنجایی که Aspose.Email Cloud بر اساس معماری REST توسعه یافته است، بنابراین می توان به راحتی از طریق دستورات cURL به آن دسترسی داشت. از برنامه ترمینال/خط فرمان برای دسترسی به APIها استفاده کنید. بنابراین اولین قدم این است که یک نشانه دسترسی JWT بر اساس اعتبار مشتری مشخص شده روی داشبورد Aspose.Cloud ایجاد کنید. لطفا دستور زیر را برای تولید توکن JWT اجرا کنید.
curl -v "https://api.aspose.cloud/connect/token" \
-X POST \
-d "grant_type=client_credentials&client_id=4db2f826-bf9c-42e7-8b2a-8cbca2d15553&client_secret=d757548a9f2558c39c2feebdf85b4c44" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: application/json"
اکنون میخواهیم مراحل استفاده از دستور cURL را برای تبدیل فایلهای .eml از قبل موجود در فضای ذخیرهسازی ابری به فرمت MHTML مورد بحث قرار دهیم. خروجی با استفاده از پارامتر -o در سیستم ذخیره می شود.
curl -X GET "https://api.aspose.cloud/v4.0/email/as-file?fileName=sample.eml&format=Mhtml" \
-H "accept: multipart/form-data" \
-H "authorization: Bearer <JWT Token>" \
-o resultant.mht
در صورتی که نیاز به تبدیل فایل .eml برای آپلود از درایو محلی دارید، لطفاً از دستور cURL زیر استفاده کنید:
curl -X PUT "https://api.aspose.cloud/v4.0/email/convert?fromFormat=Eml&toFormat=Mhtml" \
-H "accept: multipart/form-data" \
-H "authorization: Bearer <JWT Token>" \
-H "Content-Type: multipart/form-data" \
-d @sample.eml \
-o converted.mht
نتیجه گیری
در این مقاله، ویژگیهای Aspose.Email Cloud برای پردازش فرمتهای ایمیل محبوب را برجسته کردهایم. API شما را قادر میسازد تا برنامههای دستکاری ایمیل را برای اعمال پرچمهای قرمز روی پیامهای ایمیل، اعمال پیوستهای ایمیل و همچنین دانلود پیوستهای ایمیل و موارد دیگر ایجاد کنید. ما مراحل نحوه انجام تبدیل فایل های EML به MHT با استفاده از C#.NET و دستورات cURL را مورد بحث قرار داده ایم. علاوه بر این، NET Cloud SDK طبق مجوز MIT توسعه یافته است. آنها را کاملاً رایگان دانلود و سفارشی کنید. کد منبع کامل از طریق GitHub در دسترس است.
ما همچنین یک نمای swagger از Cloud API ارائه کردهایم تا بتوانید APIها را در یک مرورگر وب آزمایش کنید. علاوه بر این، اگر با مشکلی مواجه شدید یا سؤالات دیگری دارید، لطفاً از طریق تالار گفتمان پشتیبانی رایگان مشتری با ما تماس بگیرید.
مقالات مرتبط
همچنین توصیه می کنیم برای کسب اطلاعات بیشتر به لینک های زیر مراجعه کنید: