
یک EML یک پسوند فایل برای یک پیام ایمیل است که در یک فایل با فرمت استاندارد MIME RFC 822 ذخیره شده است که توسط Outlook، Outlook Express، Windows Live Mail یا Thunderbird پشتیبانی میشود. علاوه بر این، فرمت فایل EML یک فرمت فایل متنی ساده MIME (rfc822) برای ذخیره ایمیل است. از طرف دیگر، MSG یک فرمت باینری فایل مرکب بر اساس Outlook MAPI مایکروسافت است. همچنین، فرمت فایل Outlook Item MSG (. msg) نحوی برای ذخیره یک شیء پیام منفرد، مانند ایمیل، قرار ملاقات، مخاطب، کار و غیره در یک فایل است.
بنابراین در این مقاله قصد داریم مراحل نحوه تبدیل برنامهنویسی فایلهای EML به فرمت MSG با استفاده از REST API را بررسی کنیم.
API پردازش ایمیل
Aspose.Email Cloud یک API مبتنی بر REST است که قابلیتهای ایجاد، دستکاری و ارائه قالبهای ایمیل رایج (Outlook EML، MSG، iCalendar فایلها و VCard) را ارائه میکند. دیگر فرمتهای فایل پشتیبانی شده. شما می توانید با سربرگ، آدرس فرستنده، محتوای موجود در پیام کار کنید یا پیوست های ایمیل مانند فایل ها، عکس ها، اسناد و موارد دیگر را پردازش کنید. در همان زمان، پردازش کارت های تماس (Operate VCard) را اجرا کنید یا تقویم را از طریق iCalendar Support در برنامه های خود پردازش کنید.
به منظور تسهیل توسعهدهندگان، ما بستههایی را در اطراف Cloud API ایجاد کردهایم تا شما تمام ویژگیها را مستقیماً در IDE مورد علاقه خود دریافت کنید. قبل از ادامه، توصیه می کنیم برای کسب اطلاعات بیشتر در مورد نحوه نصب Aspose.Cloud SDKs از پیوند زیر دیدن کنید.
تبدیل EML به MSG در C#
لطفا مراحل زیر را برای انجام خواسته خود دنبال کنید:
- ابتدا، با ارسال ClientID و Client Secret جزئیات به عنوان آرگومان، یک شی از کلاس EmailCloud ایجاد کنید
- ثانیا، فایل ایمیل منبع را در نمونه File.OpenRead بخوانید و به روش UploadFile(…) در فضای ذخیره سازی ابری آپلود کنید.
- ثالثاً، یک نمونه از EmailGetAsFileRequest ایجاد کنید که فایل ورودی و فرمت حاصل را ارسال می کند.
- اکنون از API EmailGetAsFile برای تبدیل فایل EML موجود در فضای ذخیرهسازی ابری به فرمت MSG استفاده کنید.
- در نهایت، متد سفارشی را فراخوانی کنید تا فایل حاصل را با استفاده از نمونه 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";
// نام فایل MSG حاصل
string resultantFile = "converted.msg";
// فرمت فایل حاصل
string toFormat = "Msg";
try
{
// منبع EML را برای جریان دادن شیء بخوانید
using (var file = System.IO.File.OpenRead(@"C:\Users\shahbnay\Downloads\" + name))
{
// فایل EML منبع را در فضای ذخیره سازی ابری آپلود کنید
emailApi.CloudStorage.File.UploadFile(new Aspose.Email.Cloud.Sdk.Model.UploadFileRequest(name, file));
// با ارسال فایل ورودی و فرمت حاصل، نمونه EmailGetAsFileRequest ایجاد کنید
var convertRequest = new EmailGetAsFileRequest(name, toFormat);
// عملیات تبدیل را انجام دهید
var response = emailApi.Email.GetAsFile(convertRequest);
// پیام موفقیت چاپ در صورت موفقیت آمیز بودن تبدیل
if (response != null && response.Equals("OK"))
{
// پیام موفقیت را چاپ کنید
Console.WriteLine("Successfully converted EML to MSG !");
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();
}
فایل های نمونه استفاده شده در مثال بالا را می توان از sample.eml و converted.msg دانلود کرد.
در صورت نیاز به بارگیری فایل از درایو محلی و انجام تبدیل، لطفاً از API EmailConvert استفاده کنید.
EML به MSG با استفاده از دستور cURL
همانطور که Aspose.Email Cloud بر اساس معماری REST توسعه یافته است، بنابراین می توان به راحتی از طریق دستورات cURL به آن دسترسی داشت. از برنامه ترمینال/خط فرمان برای دسترسی به APIها استفاده کنید. بنابراین اولین گام این است که یک نشانه دسترسی JWT بر اساس اعتبار مشتری مشخص شده در داشبورد Aspose.Cloud ایجاد کنید. برای جزئیات بیشتر، لطفاً به [نحوه دریافت رمز JWT با استفاده از شناسه مشتری و کلید مخفی مشتری16 مراجعه کنید.
پس از دریافت رمز JWT، لطفاً از دستور زیر برای تبدیل فایل EML موجود در فضای ذخیره سازی ابری به فرمت MSG و ذخیره خروجی در درایو محلی استفاده کنید. برای اهداف تبدیل، API EmailGetAsFile استفاده می شود.
curl -X GET "https://api.aspose.cloud/v4.0/email/as-file?fileName=sample.eml&format=Msg" \
-H "accept: multipart/form-data" \
-H "authorization: Bearer <JWT Token>" \
-o Converted.msg
نتیجه گیری
در این مقاله به قابلیت های Aspose.Email Cloud برای پردازش فرمت های ایمیل محبوب پرداخته ایم. به طور خاص، ما در مورد تبدیل فایل EML به MSG با استفاده از C#.NET و دستور cURL بحث کردهایم. با این وجود، Cloud SDK بر اساس مجوز MIT توسعه یافته است و می توانید کد منبع کامل را از طریق GitHub دانلود کنید.
ما همچنین 19 از Cloud APIها را ارائه کردهایم تا بتوانید APIها را در یک مرورگر وب آزمایش کنید. علاوه بر این، اگر با مشکلی مواجه شدید یا سؤال دیگری دارید، لطفاً از طریق تالار گفتمان رایگان پشتیبانی مشتری با ما تماس بگیرید.