
EML هو امتداد ملف لرسالة بريد إلكتروني محفوظة في ملف بتنسيق MIME RFC 822 القياسي المدعوم من Outlook أو Outlook Express أو Windows Live Mail أو Thunderbird. علاوة على ذلك، تنسيق ملف EML هو تنسيق ملف MIME (rfc822) نص عادي لتخزين رسائل البريد الإلكتروني. من ناحية أخرى، MSG هو تنسيق ملف ثنائي مركب يعتمد على واجهة برمجة تطبيقات Outlook MAPI من Microsoft. كما أن تنسيق ملف Outlook Item MSG (.msg) هو صيغة لتخزين كائن رسالة واحد، مثل بريد إلكتروني أو موعد أو جهة اتصال أو مهمة وما إلى ذلك، في ملف.
لذلك في هذه المقالة، سنناقش الخطوات الخاصة بكيفية تحويل ملفات EML برمجيًا إلى تنسيق MSG باستخدام واجهة برمجة التطبيقات REST.
- واجهة برمجة تطبيقات معالجة البريد الإلكتروني
- تحويل EML إلى MSG في C#
- تحويل EML إلى MSG باستخدام الأمر cURL
واجهة برمجة تطبيقات معالجة البريد الإلكتروني
Aspose.Email Cloud عبارة عن واجهة برمجة تطبيقات تعتمد على REST وتوفر الإمكانيات اللازمة لإنشاء تنسيقات البريد الإلكتروني الشائعة (Outlook EML وMSG وملفات iCalendar وVCard) ومعالجتها وعرضها على تنسيقات الملفات المدعومة الأخرى. يمكنك الحصول على الإمكانيات اللازمة للعمل مع الرأس وعنوان المرسل والمحتوى المضمن في الرسالة أو معالجة مرفقات البريد الإلكتروني مثل الملفات والصور والمستندات والمزيد. وفي الوقت نفسه، يمكنك تنفيذ معالجة بطاقات الاتصال (تشغيل VCard) أو معالجة التقويم من خلال دعم iCalendar في تطبيقاتك.
لتسهيل الأمر على المطورين، قمنا بإنشاء غلافات حول واجهات برمجة التطبيقات السحابية، حتى تتمكن من الحصول على جميع الميزات مباشرةً داخل بيئة التطوير المتكاملة المفضلة لديك. قبل المتابعة، نوصي بزيارة الرابط التالي لمعرفة المزيد حول كيفية تثبيت حزم تطوير البرامج Aspose.Cloud.
تحويل EML إلى MSG في C#
يرجى اتباع الخطوات الموضحة أدناه لإنجاز متطلباتك:
- أولاً، قم بإنشاء كائن من فئة EmailCloud عن طريق تمرير تفاصيل ClientID وClient Secret كحجج
- ثانيًا، اقرأ ملف البريد الإلكتروني المصدر إلى مثيل File.OpenRead وقم بتحميله إلى التخزين السحابي باستخدام طريقة UploadFile(…)
- ثالثًا، قم بإنشاء مثيل لـ EmailGetAsFileRequest لتمرير ملف الإدخال والتنسيق الناتج
- استخدم الآن واجهة برمجة التطبيقات 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
{
// قراءة Sourcec 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.
في حالة احتياجك إلى تحميل الملف من محرك الأقراص المحلي وإجراء التحويل، يرجى محاولة استخدام واجهة برمجة التطبيقات EmailConvert.
تحويل EML إلى MSG باستخدام الأمر cURL
نظرًا لأن Aspose.Email Cloud تم تطويره وفقًا لهندسة REST، فيمكن الوصول إليه بسهولة عبر أوامر cURL. استخدم تطبيق المحطة الطرفية/موجه الأوامر للوصول إلى واجهات برمجة التطبيقات. لذا فإن الخطوة الأولى هي إنشاء رمز وصول JWT استنادًا إلى بيانات اعتماد العميل المحددة عبر لوحة معلومات Aspose.Cloud. لمزيد من التفاصيل، يرجى زيارة كيفية الحصول على رمز JWT باستخدام معرف العميل ومفتاح العميل السري.
بمجرد حصولنا على رمز JWT، يرجى استخدام الأمر التالي لتحويل ملف EML المتوفر في التخزين السحابي إلى تنسيق MSG وحفظ الناتج على محرك الأقراص المحلي. لأغراض التحويل، يتم استخدام واجهة برمجة التطبيقات 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 SDKs وفقًا لترخيص MIT ويمكنك تنزيل الكود المصدر الكامل المتوفر عبر GitHub.
لقد قدمنا أيضًا عرضًا رائعًا لواجهات برمجة التطبيقات السحابية حتى تتمكن من اختبار واجهات برمجة التطبيقات داخل متصفح الويب. علاوة على ذلك، إذا واجهت أي مشكلات أو كان لديك أي استفسارات أخرى، فلا تتردد في الاتصال بنا من خلال منتدى دعم العملاء المجاني.