Create MIME messages using C#

عند إرسال بريد إلكتروني، قد تحتاج إلى إرسال محتوى متعدد الوسائط مثل الصور والصوت والفيديو. هنا تأتي رسائل MIME (امتدادات البريد الإلكتروني متعددة الأغراض) في اللعب. في هذه المقالة، سوف نستكشف كيفية إنشاء EML رسائل برمجيًا باستخدام C#. بحلول نهاية المقالة، سيكون لديك فهم لـ كيفية إنشاء رسائل MIME، إضافة صور إلى محتوى HTML للبريد الإلكتروني وحفظ البريد الإلكتروني بتنسيق EML.

.NET API لإنشاء رسائل MIME

قبل أن تنشئ أول رسالة MIME، الخطوة الأولى هي تثبيت Aspose.Email for .NET في مشروعك. إنها مكتبة قوية لمطوري C# توفر مجموعة شاملة من الأدوات للعمل مع رسائل البريد الإلكتروني، بما في ذلك القدرة على إنشاء رسائل MIME برمجيًا. تساعد المكتبة المطورين على التلاعب بسهولة بمختلف جوانب رسائل MIME، مثل المرفقات، الجسم، الرأس، الترميز، والمزيد. يمكنك إما تثبيت المكتبة عبر NuGet أو تنزيل DLL الخاصة بها.

PM> Install-Package Aspose.Email

إنشاء ملف EML من الصفر

نظرًا لأن واجهة برمجة التطبيقات الخاصة بك قد تم تثبيتها، فقد حان الوقت لإنشاء أول eml من الصفر. واحدة من أبسط الطرق للقيام بذلك هي استخدام MailMessage من Aspose.Email. تسمح لك فئة MailMessage بإنشاء كائن رسالة بريد إلكتروني مع خصائص وأساليب مختلفة تتيح لك تعيين المرسل، المستلمين، الموضوع، الجسم، المرفقات، الرؤوس، وغيرها من تفاصيل البريد الإلكتروني.

ستساعدك الخطوات التالية ومقتطف الشيفرة في إنشاء EML من الصفر:

  • إنشاء كائن جديد من MailMessage باستخدام المُنشئ الافتراضي.
  • تعيين خصائص كائن MailMessage وفقًا لاحتياجاتك.
  • حفظ كائن MailMessage إلى ملف EML باستخدام Save الطريقة.

تأخذ Save الطريقة من فئة MailMessage معلمين: مسار الملف وخيارات الحفظ. تحدد خيارات الحفظ تنسيق الملف الناتج.

إضافة صورة إلى محتوى HTML

لإجراء هذه الوظيفة، تحتاج إلى تضمين الصورة في جسم HTML. يمكنك استخدام علامة “img” للقيام بذلك.

يوضح مقتطف الشيفرة التالي كيفية إضافة صورة إلى جسم HTML لرسالة.

  • يحتوي جسم HTML على علامة صورة مع خاصية المصدر مضبوطة على cid:image1.
  • تُستخدم فئة AlternateView للحصول على عرض بديل لجسم الرسالة الذي يحتوي على الصورة المدمجة.
  • تُستخدم فئة LinkedResource لتمثيل الصورة المدمجة ويتم تعيين معرف محتواها على image1.
  • أخيرًا، يتم إضافة العرض البديل إلى مجموعة العروض البديلة للرسالة.

إنشاء ملف EML من ملف HTML

إحدى الطرق للقيام بذلك هي البدء بملف HTML وتحويله إلى EML. يمكن أن يكون هذا مفيدًا إذا كان لديك HTML تريد إرساله كرسالة بريد إلكتروني. لهذا الغرض، نحتاج أولاً إلى الحصول على محتوى HTML. دعونا نسمي هذا الملف content.html. إليك مثال عليه:

<!DOCTYPE html>
<html>
<head>
	<title>بريدي الإلكتروني</title>
</head>
<body>
	<h1>مرحبًا،</h1>
	<img src="logo.png" alt="شعار">
	<p>هذه هي رسالتي الأولى التي تم إنشاؤها من HTML.</p>
</body>
</html>

أيضًا، يجب عليك إعداد جميع الصور التي تحتوي على HTML مسبقًا، وتحديد المسار الصحيح لها في ملف HTML.

الآن، يمكننا بسهولة إنشاء MailMessage عن طريق تعيين جسم HTML من content.html.

  • أولاً، أنشئ كائن جديد من HtmlLoadOptions.
  • عيّن سلسلة تحتوي على المسار إلى الصور في PathToResources.
  • عيّن خاصية ShouldAddPlainTextView إلى true إذا كان يجب أن يحتوي EML على AlternateView مع نص عادي.
  • أنشئ كائن MailMessage عن طريق تحميل ملف HTML وتمرير كائن HtmlLoadOptions كمعامل.
  • عيّن خصائص الرسالة الإضافية.
  • أخيرًا، احفظ كائن MailMessage إلى ملف EML باستخدام Save الطريقة.

نصائح لتحسين عرض رسالة HTML في Outlook

لمشاهدة رسالة HTML الخاصة بك في Outlook، تحتاج إلى التأكد من أن كودها متوافق مع محرك عرض Outlook، الذي يختلف عن معظم متصفحات الويب. بعض المشكلات الشائعة التي قد تؤثر على بريدك الإلكتروني HTML في Outlook هي:

  • لا يدعم Outlook بعض العلامات وخصائص CSS، مثل صور الخلفية، العوامات، الهوامش، الحشو، وما إلى ذلك. قد تحتاج إلى استخدام أنماط مضمّنة، جداول، أو تعليقات شرطية لتحقيق التنسيق والتخطيط المطلوب.
  • قد يضيف Outlook مسافات أو خطوط إضافية بين العناصر أو يزيل بعض العناصر تمامًا. قد تحتاج إلى استخدام مسافات غير قابلة للتفكيك، مسافات بعرض صفر، أو خلايا جدول فارغة لمنع ذلك.
  • قد يغير Outlook الترميز أو مجموعة الأحرف الخاصة بملف HTML الخاص بك، مما قد يتسبب في عرض بعض الأحرف بشكل غير صحيح. قد تحتاج إلى تحديد الترميز ومجموعة الأحرف باستخدام علامة ميتا.

الخاتمة

في هذه المقالة، تعلمت كيفية إنشاء رسائل MIME برمجيًا باستخدام C# عبر Aspose.Email. عرض البرنامج التعليمي خطوة بخطوة ومقتطفات الشيفرة كيفية إنشاء ملف EML من الصفر ومن ملف HTML، إضافة صورة إلى محتوى HTML لرسالة البريد الإلكتروني، ودعم كل ما سبق بملاحظات مفيدة حول كيفية تحسين عرض رسالتك HTML في Outlook.

  • يمكنك استكشاف المزيد عن Aspose.Email for .NET وتجربته مجانًا.
  • يمكنك أيضًا الاطلاع على المزيد من الميزات والوظائف لـ Aspose.Email في التوثيق.
  • أسئلتك مرحب بها على المنتدى.

انظر أيضًا