
يستخدم Microsoft Outlook وعملاء البريد الإلكتروني المشهورون الآخرون تنسيق EML(MIME RFC 822 standard) كتنسيق قياسي. EML هو اختصار للبريد الإلكتروني أو البريد الإلكتروني. وبالمثل، فهو امتداد ملف لرسالة بريد إلكتروني محفوظة في ملف في بروتوكول تنسيق رسائل الإنترنت لرسائل البريد الإلكتروني. تحتوي ملفات EML عادةً على نص ASCII عادي لنص الرسالة الرئيسي والرؤوس والارتباطات التشعبية والمرفقات. ومع ذلك، هناك تهديد واحد مرتبط بتنسيق EML وهو أنه قد يكون بريدًا إلكترونيًا احتياليًا وقد يؤدي المرفق إلى: إصابة جهازك بالبرامج الضارة إذا فتحت المرفق.
علاوة على ذلك، إذا قمنا بحفظ نسخة غير متصلة بالإنترنت من هذه الملفات، فيمكن للبرامج الضارة أن تؤثر عليها بسهولة وقد تفقد البيانات. أيضًا، لفتح ملفات EML، نحتاج إلى تطبيق مدعوم (Microsoft Outlook 365، Microsoft Windows Mail، Mozilla Thunderbird، إلخ).لذا يمكن أن يكون الإجراء الاستباقي هو تحويلها إلى تنسيق MHT.
- واجهة برمجة تطبيقات معالجة البريد الإلكتروني المجانية
- EML إلى MHT في C#
- تحويل EML إلى MHT باستخدام cURL
واجهة برمجة تطبيقات معالجة البريد الإلكتروني المجانية
Aspose.Email Cloud هي واجهة برمجة التطبيقات الحائزة على جوائز والتي توفر الإمكانيات لإنشاء تنسيقات البريد الإلكتروني الشائعة ومعالجتها وتحويلها إلى تنسيقات أخرى مدعومة. لذا، قم بإنشاء حل إدارة البريد الإلكتروني المستند إلى السحابة الخاص بك والذي يدعم OAuth وإرسال رسائل بريد إلكتروني بسيطة أو MIME مع أو بدون مرفقات. يمكنك الوصول إلى واجهة برمجة التطبيقات على أي منصة بما في ذلك Windows وLinux وmacOS وفي أي نوع من أنواع التطبيقات مثل سطح المكتب والجوال والويب والهجين وما إلى ذلك.
لاستخدام واجهة برمجة التطبيقات مباشرةً ضمن لغة برمجة، يُرجى محاولة استخدام Cloud SDK الخاص بنا والذي يعد غلافًا حول Cloud SDK. في هذه المقالة، سنركز على تحويل ملفات EML إلى تنسيق MHT باستخدام Aspose.Email Cloud SDK for .NET. لاستخدام SDK، يجب أن يكون لديك أحد أطر عمل .NET المدعومة (أو المتوافقة مع الأطر المدعومة):
- .NETFramework 2.0
- .NETFramework 4.5.2
- .NETStandard 2.0
- مونوأندرويد 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
إذا كنت تستخدم Visual Studio، فيمكنك أيضًا تثبيت الحزمة باستخدام Package Manager Console. يرجى تنفيذ الأمر التالي:
PM> Install-Package Aspose.Email-Cloud

Image 1:- Aspose.Words NuGet package installed.
مدير الحزم NuGet – Visual Studio
الطريقة الأسهل الأخرى هي تثبيت SDK عبر NuGet Package Manager داخل Visual Studio IDE.
- افتح مستكشف الحلول.
- قم بتوسيع المشروع ثم انقر بزر الماوس الأيمن فوق مجلد الحزم ضمن الحل الخاص بك.
- حدد خيار إدارة حزم NuGet…
- انقر فوق علامة التبويب “استعراض” وابحث عن “Aspose.Email-Cloud”
- انقر فوق حزمة Aspose.Email-Cloud، ثم حدد الإصدار المناسب في علامة التبويب اليمنى وانقر فوق الزر “إضافة حزمة”

Image 2:- Aspose.Words Package in NuGet Package Manager.
اشتراك حساب سحابي
لا يمكن الوصول إلى واجهات برمجة التطبيقات الخاصة بنا إلا للأشخاص المصرح لهم لأن البيانات المخزنة في التخزين السحابي يمكن الوصول إليها عبر واجهات برمجة التطبيقات السحابية. الاشتراك مجاني ولا يلزم تفاصيل الدفع المسبق. قم بإجراء ما يصل إلى 150 عملية معالجة مستندات مجانية. لذا بمجرد رضاك عن إمكانيات واجهة برمجة التطبيقات، يمكنك التفكير في اختيار اشتراك ترخيص يمكن أن يكون منخفضًا مثل 0.005 دولار أمريكي / مكالمة واجهة برمجة التطبيقات. لمزيد من التفاصيل، يرجى زيارة التسعير.
الآن، تابع إنشاء الحساب من خلال زيارة لوحة تحكم Aspose.Cloud. لا يلزم إدخال بطاقة ائتمان أو أي تفاصيل دفع أخرى. إذا كان لديك حساب على GitHub أو Google، فما عليك سوى التسجيل أو النقر فوق الزر إنشاء حساب جديد وتقديم المعلومات المطلوبة. الآن، قم بتسجيل الدخول إلى لوحة التحكم باستخدام بيانات الاعتماد وقم بتوسيع قسم التطبيقات من لوحة التحكم وانتقل لأسفل نحو قسم بيانات اعتماد العميل لرؤية تفاصيل معرف العميل والسر الخاص بالعميل.

الصورة 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
{
// قراءة Sourcec 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. استخدم تطبيق المحطة الطرفية/موجه الأوامر للوصول إلى واجهات برمجة التطبيقات. لذا فإن الخطوة الأولى هي إنشاء رمز وصول 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 لمعالجة تنسيقات البريد الإلكتروني الشائعة. تتيح لك واجهة برمجة التطبيقات إنشاء تطبيقات معالجة البريد الإلكتروني لتطبيق العلامات الحمراء على رسائل البريد الإلكتروني، وتطبيق مرفقات البريد الإلكتروني بالإضافة إلى تنزيل مرفقات البريد الإلكتروني، والمزيد. لقد ناقشنا الخطوات الخاصة بكيفية إجراء تحويل ملفات EML إلى MHT باستخدام C# .NET وأوامر cURL. علاوة على ذلك، تم تطوير .NET Cloud SDK وفقًا لترخيص MIT. يمكنك تنزيلها وتخصيصها مجانًا تمامًا. يتوفر كود المصدر الكامل عبر GitHub.
لقد قدمنا أيضًا عرضًا رائعًا لواجهات برمجة التطبيقات السحابية حتى تتمكن من اختبار واجهات برمجة التطبيقات داخل متصفح الويب. علاوة على ذلك، إذا واجهت أي مشكلات أو كان لديك أي استفسارات أخرى، فلا تتردد في الاتصال بنا من خلال منتدى دعم العملاء المجاني.
مقالات ذات صلة
وننصحك أيضًا بزيارة الروابط التالية لمعرفة المزيد عن: